1、??MAP
特點:同鍵的新值將覆蓋舊值。
示例:
????????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)一個值。返回的b是被覆蓋的值
循環遍歷:
????????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
特點:無序排列,不會存在重復的值,添加重復值也不會報錯.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,表示沒有加入
3、List
特點:有序排序,可以加入重復的元素
示例:
????????Arrays.asList(
new
?String[]?{
"
11
"
,?
"
222
"
?});
//
返回一個不可改的List
????????List
<
String
>
?l?
=
?Arrays.asList(
"
11
"
,?
"
222
"
,?
"
333
"
);
????????l.subList(
1
,?
2
);?
//
由第二個和第三個元素生成一個新List
????????ArrayList
<
String
>
?list?
=
?
new
?ArrayList
<
String
>
(l);?
//
生成一個可改的List
????????
boolean
?b;
????????b?
=
?list.add(
"
11
"
);
//
b=true??List可以加入重復的元素
????????b?
=
?list.add(
"
11
"
);
//
b=true
4、Collections
特點:Collections.class是集合的工具方法類
示例:
????????List<String>?list1?=?new?ArrayList<String>();
????????List<String>?list?=?new?ArrayList<String>();
????????Collections.sort(list);?//排序
????????int?pos?=?Collections.binarySearch(list,?"key");//用二叉樹算法來查找,首先得排序好
????????System.out.println("pos="?+?pos);
????????Collections.copy(list,?list1);?//把list1復制到list上,原list元素被覆蓋
????????Collections.fill(list,?"ss");?//用"ss"填充list
????????Collections.max(list);?//找最大元素
????????Collections.reverse(list);?//把排序
????????Collections.shuffle(list);//混亂排序
????????Collections.singleton("ss");//返回一個Set集合,不可改,只有ss一個元素
????????Collections.unmodifiableList(list);//返回一個不可改的新的List,原list不變
????????Collections.synchronizedList(list);//返回一個同步的新的List,原list不變
5、Properties
特點:Properties繼承自Hashtable,是Map的一個實現。不過它在讀取Properties文件方法特別方便
示例:
????????Properties?p?=?System.getProperties();?//得到系統屬性
????????p.list(System.out);//打印所有
????????/*
?????????*?從user.home=C:\Documents?and?Settings\chengang
?????????*?讀取properties文件填充到Properties
?????????*/
????????Properties?p2?=?System.getProperties();?//得到系統屬性
????????File?file?=?new?File(p.getProperty("user.home"),?"argo.user.properties");
????????p2.load(new?FileInputStream(file));
????????System.err.println("------------------------------");
????????p2.list(System.out);