Java集合有哪些?如何选择使用?


1.单列各个集合底层数据结构和基本性质
一.List集合:(有序,元素可以重复)
1.ArrayList集合:

1).底层数据结构是数组,查找快,增删慢。

2). 线程不安全,效率高

2.Vector集合:

1) 底层数据结构是数组,查询快,增删慢

2)线程安全,效率低

3.LinkedList集合:

1) 底层数据结构是链表,查询慢,增删快

2)线程不安全,效率高

二、Set集合(元素不可重复,元素唯一)
1.Hashset集合:

1) 底层数据结构是哈希表,哈希表依赖两个方法hascode ()和equals()方法

2)两个方法的执行顺序:
首先判断hascode()值是否相同
是:继续执行equals()方法,看其返回值
是true:说明元素重复,不添加
是false:就直接添加元素
否:就直接添加到集合

2.Treeset集合:

1)底层数据结构是二叉树

2.双列各个集合底层数据结构和基本性质

1.java中的Map集合是双列的,Map集合是Map集合家族的根接口,它有HashMap和TreeMap集合两个子类。

2.Map集合中只对键有效,而对值是无效的。

3.子类的数据结构:

Hashmap:底层数据结构是哈希表,Treemap底层数据结构是二叉树,其性质和Set的底层数据结构一样。

3、java中的集合的选择

根据实际需求来选择合适的集合。

1.单列还是双列:

单列就选Collection类型的,双列选Map类型的

2.选择单列后看元素是否唯一

是:选择Set集合

看元素是否排序:

是:TreeSet
否:HashSet

否: 选择List集合

安全性高低:

高:Vector

低:ArrayList 或LinkedList ’

增删多:LinkedList
查询多:ArrayList


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM