Java集合

北城余情 提交于 2020-02-25 21:05:48

概述:

List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口

List下有ArrayListLinkedList,Vector
Set下有HashSetTreeSet,LinkedHashSet


Map下有Hashtable,LinkedHashMap,HashMapTreeMap

 

 

    常用集合类:  ArrayList ,  LinkedList, HashSet, HashMap

 


Connection接口:


—---- List 有序,可重复

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

LinkedList
优点: 底层数据结构是链表,查询慢,增删快。
缺点: 线程不安全,效率高

Vector(已放弃)
优点: 底层数据结构是数组,查询快,增删慢。
缺点: 线程安全,效率低

(数据量较大,同时数据查询到条件多的时候选择使用ArrayList

      ,增删条件多的时候选择使用LinkehLish

  一般情况直接使用ArrayList。)


—----Set 无序,唯一

HashSet
底层数据结构是哈希表。(无序,唯一)
如何来保证元素唯一性?
1.依赖两个方法:hashCode()和equals()

LinkedHashSet
底层数据结构是链表和哈希表。(FIFO插入有序,唯一)
1.由链表保证元素有序
2.由哈希表保证元素唯一

TreeSet
底层数据结构是红黑树。(唯一,有序)
1. 如何保证元素排序的呢?
自然排序
比较器排序
2.如何保证元素唯一性的呢?
根据比较的返回值是否是0来决定

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!