第7章 java集合
set list map
set集合:无序,不能重复;
list集合:有序,可以重复;
map集合:键值对;
7.2 collection 和 iterator接口
List<String> infoList = new ArrayList<String>();
infoList.add(null);
System.out.println(infoList.size());//1
System.out.println(infoList.toArray());//[Ljava.lang.Object;@1df0a2a0
System.out.println(infoList.isEmpty());//false
System.out.println(infoList);//[null]
7.2.1 使用itrator接口遍历集合元素
List<String> infoList = new ArrayList<String>();
infoList.add("xiaoxiao");
infoList.add("xiaoming");
infoList.add("");
if(infoList!=null && !infoList.isEmpty()){
Iterator iterator = infoList.iterator();
System.out.println(infoList.size());//3
while(iterator.hasNext()){
//System.out.println(iterator.next());//xiaoxiao xiaoming
String a = (String) iterator.next();
if(a.equals("xiaoxiao")){
iterator.remove();
}
}
System.out.println(infoList);//[xiaoming, ]
}
判断某一元素在集合中出现的次数:
System.out.print(Collections.frequency(infoList,"xiaoxiao"));
7.8.3 同步控制
List<String> list = Collections.synchronizedList(new ArrayList<String>()); //创建线程安全的集合;
7.8.4 设置不可变集合
//设置空的不可改变的List对象
List unmodifiableList = Collections.emptyList();
unmodifiableList.add("qq");//这样会报错
//创建一个只有一个元素且不可改变的set对象
Set unmodifiableSet = Collections.singleton("da");
//设置一个普通map对象
Map map = new HashMap();
map.put("qqq", 1);
map.put("qq", 2);
//将map转为不可变map
Map unmodifiableMap = Collections.unmodifiableMap(map);