《集合》

集合思维导图:
在这里插入图片描述

集合比较方面问题:

ArrayList和LinkedList的区别:
1、结构:
ArrayList是数组结构
LinkedList是链表结构
2、优缺点
	ArrayList:
	**优点:查询速度快
	**缺点:增删改的速度慢
	LinkedList:
	**优点:查询速度慢,不适合做查询
	**缺点:增删改的速度快

Array和ArrayList的区别:
1、存储的数据类型
	Array是数组
	ArrayList是集合
2、长度
	Array是固定数组,长度不可变
	ArrayList是动态数组被称为“集合”,长度可变
3、ArrayList是Array的复杂版本
HashSet、TreeSet、LinkedHashSet的区别:

1、需要速度快的集合,用HashSet
2、需要集合排序功能,用TerrSet
3、需要插入顺序进行排序,用LinkedHashSet

HashSet有以下特点:
 不能保证元素的排列顺序,顺序有可能发生变化
 不是同步的
 集合元素可以是null,但只能放入一个null
LinkedHashSet:
LinkedHashSet集合同样是根据元素的hashCode值来决定元素的存储位置,但是它同时使用链表维护元素的次序
LinkedHashSet在迭代访问Set中的全部元素时,性能比HashSet好,但是插入时性能稍微逊色于HashSet

HashMap、TreeMap、LinkedHashMap的区别:

1、在Map集合中插入、删除和定位元素用HashMap
2、需要集合排序,用TreeMap
3、插入顺序进行排序,用LinkedHashMap

共同点:
HashMap、LinkedHashMap、TreeMap都属于Map
不同点:
1、HashMap里面存入的键值对在取出的时候是随机的,也是我们最常用的一个Map.它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。在Map 中插入、删除和定位元素,HashMap 是最好的选择。  
2、TreeMap取出来的是排序后的键值对。要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。  
3、 LinkedHashMap 是HashMap的一个子类,如果需要输出的顺序和输入的相同,那么用LinkedHashMap可以实现.  (应用场景:购物车等需要顺序的)
HashMap和HashSet的区别:
HashMapHashSet
实现了Map接口实现了Set接口
存储键值对存储对象
调用put()增加元素调用add()增加元素
调用put()增加元素调用add()增加元素
使用key计算hashcode使用成员对象计算hashcode
HashMap相对于HashSet比较快HashSet相对于HashMap比较慢
List、Set、Map的区别:

List、Set是继承collection,Map不是继承collection

ListSetMap
允许有重复的元素不允许有重复的元素不允许有重复的Key(键),但是可以有重复的值
可以插入多个null元素只可以插入一个null元素Key(键)只能插入一个null元素,但是值可以插入多个null元素
有序容器,插入的顺序和输出的顺序一样无序容器无序容器
将一个数组转成List

数组转List,可以使用Arrays.asList
List转数组,使用list.toArray

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值