java中集合总结

集合总结

1.ArrayList:存储有序的,可重复的单一对象。底层采用Object[]结构存值。

优点:按顺序添加效率高,遍历和修改元素效率高	
缺点:按索引添加和删除元素效率低

2.LinkedList:存储有序的,可重复的单一对象。底层采用双向链表结构存值。

优点:添加和删除元素效率高
缺点:遍历和修改元素效率低

3.HashSet:存储无序的,唯一的单一对象。底层采用HashMap的key存值。

优点:唯一性(去重性)
唯一性(去重性):通过HashSet的泛型类中重写hashCode()和equals()来去重的

4.TreeSet:存储无序的,可排序的,唯一的单一对象。底层采用TreeMap的key存值。
注意:TreeSet一定要用排序器。当调用无参构造创建TreeSet时,要求TreeSet的泛型类中必须实现自然排序器接口,重写排序方法;如果用有参构造创建TreeSet时,必须将自定义排序器对象作为参数传给TreeSet的构造方法,在自定义排序器类中重写排序方法。

优点:可排序性,唯一性
可排序性:通过排序器的排序方法,返回负数,存在前面(左子节点),返回正数,存在后面(右子节点)
唯一性:通过排序器的排序方法返回0,表示相同元素不存

5.HashMap:按key-value对方式存值,它的key是无序的、唯一的单一对象,底层采用数组+链表结构存值。

优点:key的唯一性
key的唯一性:通过HashMap的key所在泛型类中重写hashCode()和equals()方法来去重的

6.TreeMap:按key-value对方式存值,它的key是无序的,可排序的,唯一的单一对象,底层采用二叉树结构存值。
注意:TreeMap一定要用排序器。如果用无参构造创建TreeMap时,要求TreeMap的key的泛型类中必须实现 自然排序器接口,重写排序方法;如果用有参构造创建TreeMap时,则要求将自定义排序器对象作为参数传给TreeMap的构造方法,在自定义排序器类中重写排序方法。

优点:key的可排序性、唯一性
key的可排序性:通过排序器的排序方法,返回负数,存在前面(左子节点),返回正数,存在后面(右子节点)
key的唯一性:通过排序器的排序方法,返回0,表示key相同,key不存,value覆盖

7.对元素去重的集合:HashSet、TreeSet、HashMap、TreeMap 首选HashSet
HashSet、HashMap去重:通过重写hashCode()和equals()方法
TreeSet、TreeMap去重:通过排序器的排序方法返回0
8.对元素去重且排序的集合:TreeSet、TreeMap 首选TreeSet
TreeSet、TreeMap去重:通过排序器的排序方法返回0
TreeSet、TreeMap排序:通过排序器的排序方法,返回负数排在前面,返回正数排在后面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值