Java--集合类Collection--List和Set

时间:2022-04-15 17:02:33

参考博客:http://lib.csdn.net/article/javase/3730?knId=209
参考博客:http://lib.csdn.net/article/javase/3341
参考博客:http://lib.csdn.net/article/javase/63412

一、List接口————ArrayList、LinkedList、Vector

List元素是有序的,元素可以重复。因为该集合体系有索引。由于底层数据结构不同,有三个子类。

  • ArrayList:底层数据结构使用的是数组结构。特点:查询速度快,但增删稍慢。线程不同步(建议使用)。
  • LinkedList:底层的数据结构是链表数据结构。特点:增删的速度快,查询稍慢
  • Vector:底层是数组数据结构。线程同步。
    • ArrayList默认长度是10,超出长度时,50%延长。
    • Vector默认长度是10,超出长度时,100%延长。

二、Set接口———HashSet、TreeSet

Set元素是无序的,元素不可以重复。该集合体系无索引。Set集合的功能和Collection是一致的。

  • HashSet:底层数据结构是哈希表。线程是非同步的。
  • TreeSet:可以对Set集合中的元素进行排序。按照字母的自然顺序排序。底层数据结构是二叉树,保证元素唯一性的依据是compareTo方法return 0。