1、在后台,常用集合为ArrayList、HashMap、JSONObject、JSONArray。
1.1 ArrayList存储数据格式为 [a, b, c],有序集合,要向里面增加内容的话调用add方法,参数为参数值,获取某个值用get方法,参数值为下表index,移除用remove方法,参数可以为Object(参数值)或者下表index。
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.remove("b");
list.add("c");
list.get(0);
1.2 HashMap存储数据格式为 {a=a,b=b, c=c},无序集合,向内增加内容调用put(参数名,参数值)方法,获取集合内的值用get(参数名),移除用remove(参数名)方法。
HashMap<String, String> map = new HashMap<String, String>();
map.put("a", "a");
map.put("b", "b");
map.remove("b");
map.put("c", "c");
map.get("a");
1.3 JSONObject存储数据格式为{“a”:”a”,”b”:”b”,”c”:”c”},有序集合,向内增加值用put(参数名,参数值),获取集合内的值用get(参数名),移除用remove(参数名)方法。
JSONObject object = new JSONObject();
object.put("a", "a");
object.put("b", "b");
object.remove("b");
object.put("c", "c");
object.get("a");
1.4 JSONArray存储数据格式为[{“a”:”a”,”c”:”c”},[“a”,”c”],{“a”:”a”,”c”:”c”}],有序集合,向内增加值用add(参数值)方法,获取集合内的值用get(下标index),移除用remove(下标index)方法。
JSONArray ja = new JSONArray()
ja.add(object)
ja.add(list)
ja.add(map)
ja.get(0)
ja.remove(0)
2、前台集合一般为Array,Object(js操作)
2.1 Object形式为var object = {“a”:”a”,”b”:”b”,”c”:”c”}
获取里面的值可以用object.a或者object["a"]即可,赋值的话则用object["d"] = "de";删除用delete object.a即可。
2.2 Array数组的形式比较多,参考了雨中无伞V-蓝色的代码
shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined
var a = [1,2,3,4,5];
var b = a.shift();
unshift:将参数添加到原数组开头,并返回数组的长度
var a = [1,2,3,4,5];
var b = a.unshift(-2,-1);
注:在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用splice代替本方法来使用。
pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined
var a = [1,2,3,4,5];
var b = a.pop();
push:将参数添加到原数组末尾,并返回数组的长度
var a = [1,2,3,4,5];
var b = a.push(6,7);
concat:返回一个新数组,是将参数添加到原数组中构成的
var a = [1,2,3,4,5];
var b = a.concat(6,7);
splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...
var a = [1,2,3,4,5];
var b = a.splice(2,2,7,8,9);
var b = a.splice(0,1);
a.splice(0,0,-2,-1); var b = a.length;
var b = a.splice(a.length-1,1);
a.splice(a.length,0,6,7); var b = a.length;
reverse:将数组反序
var a = [1,2,3,4,5];
var b = a.reverse();
sort(orderfunction):按指定的参数对数组进行排序
var a = [1,2,3,4,5];
var b = a.sort();
slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组
var a = [1,2,3,4,5];
var b = a.slice(2,5);
join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
var a = [1,2,3,4,5];
var b = a.join("|");
再给个利用数组模拟javaStringBuffer处理字符串的方法:
/** * 字符串处理函数 */
function StringBuffer()
{
var arr = new Array;
this.append = function(str)
{
arr[arr.length] = str;
};
this.toString = function()
{
return arr.join("");
};
}
今天在应用中突然发现join是一种把数组转换成字符串的好方法,故封装成对象使用了:
/** * 把数组转换成特定符号分割的字符串 */
function arrayToString(arr,separator)
{
if(!separator) separator = "";
return arr.join(separator);
}
/** * 查找数组包含的字符串 */
function arrayFindString(arr,string)
{
var str = arr.join("");
return str.indexOf(string);
}