JAVA编程课堂笔记(48)
集合补遗
1) 集合复制, 默认的复制规则是浅表(浅层)复制
A clone() 方法
B 使用复制构造器!
Map map = new HashMap();
Map map2 = new HashMap(map);
List list1 = new ArrayList();
List list2 = new LinkedList(list1);
2) 同步化(线程安全的)
List list = new ArrayList();
//synchronizedList 可以将非线程安全的list包装为线程安全的
list = Collections.synchronizedList(list);
转换以后就相当于 Vector
HashMap map = new HashMap();
//synchronizedMap 可以将非线程安全的map包装为线程安全的
map = Collections.synchronizedMap(map);
3) 数组与集合的转换
a 数组转List(只读的)
String[] names = {"A","B","C"};
List list = Arrays.asList(names);//只读list
list = new ArrayList(list);//复制为全功能List
Set set = new HashSet(list);//复制为Set集合
b 集合转数组
Object[] ary1 = list.toArray();//集合转Object[]
String[] ary2 = (String[])
list.toArray(new String[]{});//集合转制定类型数组
4) Collection 与 Collections
Collection 抽象的集合概念,
Collections 集合静态工具类, 包含集合的工具方法
(sort, 打乱(洗牌)等
5) Map的迭代, Map 是 [Key:Value] 组成的集合
A 对key:value 进行迭代
map.entrySet();
B 对Key进行迭代
map.keySet();
C 对Value进行迭代
map.values();