Java集合

来源:互联网 发布:mac系统可以装ps吗 编辑:程序博客网 时间:2024/06/09 15:09

总共有两大接口:Collection Map ,一个元素集合,一个是键值对集合;

1.ListSet接口继承了Collection接口,一个是有序元素集合,一个是无序元素集合;

List:元素有序 可重复 

ArrayList:底层数据结构是数组 。查询快,增删慢,线程不安全,效率高;

LinkedList:底层是双向循环链表。增删快,查询慢,线程不安全,效率高;

Vector:底层数据结构是数组,查询快,增删慢,线程安全,效率低;


Set:元素无序,不可重复

HashSet底层数据结构是哈希表,依赖两个方法:hashcode()equals(),重写hashcode()equals()即可;

TreeSet:底层数据结构是红黑树,

对集合中的元素排序两种方式:

①自然排序(元素具有比较性)

让元素所属的类实现Comparable接口

②比较器排序(集合具有比较性)

  让集合接收一个Comparator的实现类对象

LinkedHashSet:底层数据结构是哈希表和链表组成,链表保证有序,哈希表保证唯一

 

HashtableHashMapTreeMapLinkedHashMap 实现了Map接口

Hashtable

不可以添加为空,底层数据结构是哈希表,线程安全,效率

HashMap

可以添加为空,底层数据结构是哈希表,线程不安全,效率高;

TreeMap

底层数据结构是红黑树,有序的,效率比 HashMap

LinkedHashMap

底层数据结构是哈希表和链表组成,链表保证有序,哈希表保证唯一,仅比HashMap慢一点

原创粉丝点击