当前位置:   article > 正文

java中的集合知识点_哪些集合可以存放重复数据么

哪些集合可以存放重复数据么

1.集合

集合是javaAPI中提供的一种容器工具,可以存储多个数据。

集合框架的三个要素:接口、实现类、数据结构。

集合和数组的区别:

1、数组的长度是固定的,集合的长度是可变的;

2、数组中存储的是同一类型的元素,集合中存储的数据可以是不同类型的;

3、数组中可以存放基本数据类型和引用类型,聚合只能存放引用类型;

集合主要分为Collection和Map。

2.Collection

Collection接口是单列集合类的父接口,Collection有两个重要的子接口:List和Set。

3.List

List接口是Collection接口的子接口,list独有的一些特点:

(1)list是有序的集合;

(2)list是带索引的集合;

(3)list是可以存放重复数据的集合。

list常用的实现类:ArrayList、LinkedList,Vector。

ArrayList底层的数据结构是数组,特点是查找速度快;

Vector底层的数据结构也是数组,但是是synchronized加锁的,所以安全性很高;

LinkedList底层的数据结构是双向链表,特点是增删速度快。

4.Set

Set接口也是Collection接口的子接口,set独有的一些特点:

(1)set是无序的集合;

(2)set是不带下标索引的集合;

(3)set是不能存放重复数据的集合。

Set常用的实现类:HashSet、TreeSet

HashSet的实现主要依赖于HashMap;

HashSet中存储的元素之所以无序,是因为元素在集合中的位置是通过对象的哈希值来确定的,HashSet中的数据不可重复是靠对象的hashCode和equals方法来判断对象是否重复的。

TreeSet可以将我们存进去的数据进行排序,排序种类:自然排序(实现了Comparable接口)、比较器排序(HashSet的一个重载构造器中可以接收比较器对象)。

5.Map

Map集合是双列集合,存储数据时,需要存储一对数据。

1、key值必须是唯一的,value值是允许重复的;

2、key和value是映射关系,一个key对应一个value值;

3、在Map中,通过唯一的key值可以很快找到对应的value值。

四个Map的实现类:

1、HashMap:存储数据采用哈希表结构,元素存储顺序不能保证一致,需要保证键值的唯一;

2、HashTable:和List中的Vector相似,线程安全,不允许键和值为null;

3、TreeMap:支持键排序;

4、LinkedHashMap:HashMap的子类,数据结构:哈希表+链表,需要保证元素的存取顺序一致(存入顺序就是取出顺序)。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/973978
推荐阅读
相关标签
  

闽ICP备14008679号