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的子类,数据结构:哈希表+链表,需要保证元素的存取顺序一致(存入顺序就是取出顺序)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清梦扰i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值