java集合简单理解
https://blog.****.net/zengxiantao1994/article/details/77018356
Set:无序不重复
HashSet:基于HashMap实现,HashSet底层采用HashMap来保存所有元素;为快速查找设计的Set。
LinkedHashSet:HashSet类的子类;使用链表维护元素插入的次序。
TreeSet:基于TreeMap实现,是一个有序集合;如果没有指定Comparator接口,则默认是自然排序;
List:有序可重复
ArrayList:实现了可变大小的数组;允许对元素进行快速随机访问。
Vector:线程安全;不再推荐使用;可以通过工具类Collections中的synchronizedList方法将其转换成线程安全的容器后再使用。
LinkedList:基于链表实现;与ArrayList比较插入删除快;随机访问慢。
Map:键值对
HashMap:线程不安全;允许键和值是null。
LinkedHashMap:HashMap的子类;使用链表维护元素插入的次序;允许键和值是null。
HashTable:线程安全;不允许键或者值是null;不再推荐使用;可以通过工具类Collections中的synchronizedMap方法将其转换成线程安全的容器后再使用;或者使用juc包下的ConcurrentHashMap来实现线程安全;
TreeMap:有序Map;不允许键为null(无法排序),值可以为null;如果没有指定Comparator接口,则默认是自然排序;