1.javaz集合主要由两个接口派生:Collection和Map。其Collection继承树如下:
Map的继承树为:
其中,粗线圈出的为接口,深黑色背景的为常用的实现类。
2.操作集合的工具类
import java.util.*;
class CollectionToolTest
{
public static void main(String[] args)
{
ArrayList nums=new ArrayList();
nums.add(2);
nums.add(-3);
nums.add(5);
nums.add(0);
//排序操作
//依顺序进行输出
System.out.println(nums);
//将元素翻转
Collections.reverse(nums);
System.out.println(nums);
//从小到大进行排序
Collections.sort(nums);
System.out.println(nums);
//随机排序
Collections.shuffle(nums);
System.out.println(nums);
//查找替换操作
//返回最大、小值
System.out.println(Collections.max(nums));
System.out.println(Collections.min(nums));
//将其中的0改为1
Collections.replaceAll(nums,0,1);
System.out.println(nums);
//计算-3出现的次数
System.out.println(Collections.frequency(nums,-3));
//排序并使用二分查找来查找2的索引号
Collections.sort(nums);
System.out.println(Collections.binarySearch(nums,2));
//同步控制
Collection c=Collections.synchronizedCollection(new ArrayList());
List list=Collections.synchronizedList(new ArrayList());
Set s=Collections.synchronizedSet(new HashSet());
//设置不可变的集合
List unmodList=Collections.emptyList();
//创建一个只有一个元素的不可变Set集合
Set unmodSet=Collections.singleton("123");
//使用普通的Map对象创建其不可变的版本
Map scores=new HashMap();
scores.put("zhang1",123);
scores.put("zhang2",234);
Map unmodMap=Collections.unmodifiableMap(scores);
}
}