1、??MAP
特點(diǎn):同鍵的新值將覆蓋舊值。
示例:
????????Map<String,?String>?map?=?new?HashMap<String,?String>();
????????String?str;
????????str?=?map.put("1",?"a");?//str=null
????????str?=?map.put("1",?"b");//str=a
????????str?=?map.put("1",?"c");?//str=b?新值覆蓋舊值,最后map只有(1,c)一個(gè)值。返回的b是被覆蓋的值
循環(huán)遍歷:
????????Map<String,?Long>?map?=?new?HashMap<String,?Long>();
????????map.put("a",?new?Long(1));
????????map.put("b",?new?Long(2));
????????for?(Map.Entry<String,?Long>?entry?:?map.entrySet())?{
????????????String?key?=?entry.getKey();
????????????Long?value?=?entry.getValue();
????????}
2、Set
特點(diǎn):無(wú)序排列,不會(huì)存在重復(fù)的值,添加重復(fù)值也不會(huì)報(bào)錯(cuò).Set可以加入null值
示例:
????????Set
<
String
>
?set?
=
?
new
?HashSet
<
String
>
();
????????
boolean
?b;
????????b?
=
?set.add(
"
1
"
);
//
b=true
????????b?
=
?set.add(
"
2
"
);
//
b=true
????????b?
=
?set.add(
"
1
"
);
//
b=false
????????b?
=
?set.add(
"
2
"
);
//
b=false?返回值為false,表示沒(méi)有加入
3、List
特點(diǎn):有序排序,可以加入重復(fù)的元素
示例:
????????Arrays.asList(
new
?String[]?{
"
11
"
,?
"
222
"
?});
//
返回一個(gè)不可改的List
????????List
<
String
>
?l?
=
?Arrays.asList(
"
11
"
,?
"
222
"
,?
"
333
"
);
????????l.subList(
1
,?
2
);?
//
由第二個(gè)和第三個(gè)元素生成一個(gè)新List
????????ArrayList
<
String
>
?list?
=
?
new
?ArrayList
<
String
>
(l);?
//
生成一個(gè)可改的List
????????
boolean
?b;
????????b?
=
?list.add(
"
11
"
);
//
b=true??List可以加入重復(fù)的元素
????????b?
=
?list.add(
"
11
"
);
//
b=true
4、Collections
特點(diǎn):Collections.class是集合的工具方法類
示例:
????????List<String>?list1?=?new?ArrayList<String>();
????????List<String>?list?=?new?ArrayList<String>();
????????Collections.sort(list);?//排序
????????int?pos?=?Collections.binarySearch(list,?"key");//用二叉樹(shù)算法來(lái)查找,首先得排序好
????????System.out.println("pos="?+?pos);
????????Collections.copy(list,?list1);?//把list1復(fù)制到list上,原list元素被覆蓋
????????Collections.fill(list,?"ss");?//用"ss"填充list
????????Collections.max(list);?//找最大元素
????????Collections.reverse(list);?//把排序
????????Collections.shuffle(list);//混亂排序
????????Collections.singleton("ss");//返回一個(gè)Set集合,不可改,只有ss一個(gè)元素
????????Collections.unmodifiableList(list);//返回一個(gè)不可改的新的List,原list不變
????????Collections.synchronizedList(list);//返回一個(gè)同步的新的List,原list不變
5、Properties
特點(diǎn):Properties繼承自Hashtable,是Map的一個(gè)實(shí)現(xiàn)。不過(guò)它在讀取Properties文件方法特別方便
示例:
????????Properties?p?=?System.getProperties();?//得到系統(tǒng)屬性
????????p.list(System.out);//打印所有
????????/*
?????????*?從user.home=C:\Documents?and?Settings\chengang
?????????*?讀取properties文件填充到Properties
?????????*/
????????Properties?p2?=?System.getProperties();?//得到系統(tǒng)屬性
????????File?file?=?new?File(p.getProperty("user.home"),?"argo.user.properties");
????????p2.load(new?FileInputStream(file));
????????System.err.println("------------------------------");
????????p2.list(System.out);