Java集合有哪些?
java集合主要有3种:set(集)、list(列表)和map(映射)。
一、List集合:(有序,元素可以重复)
List里存放的对象是有序的,同时也是可以重复的,List关注的是索引,拥有一系列和索引相关的方法,查询速度快。因为往list集合里插入或删除数据时,会伴随着后面数据的移动,所有插入删除数据速度慢。
1、ArrayList集合:
1)、底层数据结构是数组,查找快,增删慢。
2)、线程不安全,效率高
2、Vector集合:
1) 底层数据结构是数组,查询快,增删慢
2)线程安全,效率低
3、LinkedList集合:
1) 底层数据结构是链表,查询慢,增删快
2)线程不安全,效率高
二、Set集合(元素不可重复,元素唯一)
Set里存放的对象是无序,不能重复的,集合中的对象不按特定的方式排序,只是简单地把对象加入集合中。
1、Hashset集合:
1) 底层数据结构是哈希表,哈希表依赖两个方法hascode ()和equals()方法
2)两个方法的执行顺序:
首先判断hascode()值是否相同
是:继续执行equals()方法,看其返回值
是true:说明元素重复,不添加
是false:就直接添加元素
否:就直接添加到集合
2、Treeset集合:
1)底层数据结构是二叉树
三、Map集合
Map集合中存储的是键值对,键不能重复,值可以重复。根据键得到值,对map集合遍历时先得到键的set集合,对set集合进行遍历,得到相应的值。
1、Map集合是Map集合家族的根接口,它有HashMap和TreeMap集合两个子类。
2、Map集合中只对键有效,而对值是无效的。
3、子类的数据结构:
Hashmap:底层数据结构是哈希表,Treemap底层数据结构是二叉树,其性质和Set的底层数据结构一样。
推荐教程:Java教程