Java集合有哪些?

青灯夜游
青灯夜游 原创
2019-11-18 17:59:25 3914浏览

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教程

以上就是Java集合有哪些?的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。