Java中的集合

一、基本概念

集合是一个容器,只能用来存放引用数据类型,不定长会自动扩容,可以存储不同类型的引用数据。

从Java的层级结构来分:
Iterable --》Collection--》List--》Set--》Map

1、List集合

允许存储重复值,有序先进先出,可以存储null。

  • ArrayList:基于数组实现,查询快,线程不安全;
  • LinkedList:基于链表结构实现,新增修改删除快,线程不安全;
  • Vector:基于数组实现,线程安全

2、Set集合

不允许出现重复值,无序,可以存储null。

  • HashSet:无序;
  • LinkedHashSet:有序;
  • TreeSet:可以排序(自然排序),存储的类型必须实现了Comparable接口,并重写方法,否则会报异常。

3、Map集合

以键对值的方式来存储值,键不允许重复,值允许重复,内部维护一个接口Entry。

  • HashTable: 线程安全,无论key还是value都不能为null;
  • HashMap: 线程不安全,且无序,可以存储null键和null值;
  • LinkedHashMap:线程不安全有序;
  • TreeMap:和TreeSet一样能够实现自然排序,不过TreeMap的排序的是键值;
  • ConcurrentHashMap:底层采用分段的数组+链表实现,线程安全,综合了HashTable和HashMap两者的优缺点,在实现线程安全的同时,又保证了执行效率。

你可能感兴趣的:(Java中的集合)