list集合:
ArrayList:数据存储的结构的是数组结构,元素遍历查询快,增删慢。
LinkedList:数据存储的结构是链表结构,元素遍历增删快,查询慢。
set集合:
HashSet:内部存储数据的结构为hash表,是线程不安全的,通过比较两个对象的hashcode的值和equals判断是否相同,可以存放null值。
TreeSet:内部存储结构为二叉树,是线程不安全的,通过实现comparator接口,重写compare方法进行排序,不允许存放空值
LinkedHashSet:是一个有序的set集合,即存储顺序和输出顺序是一样的
map集合:
HashMap:jdk1.2之后推出的新的key->value操作类,使用的效率高,但是会出现线程不安全,HashMap的key可以允许被设置为null
HashTable:jdk1.0推出的key->value操作类,相对于HashMap线程变得安全了,但是使用效率降低了
ConcurrentHashMap:采用分段锁的机制,在保证线程安全的同时,提高了使用的效率