List, Map和set的区别

Java集合框架

Collection 可以主要分为 Set、List 、Queue 三种接口类型,而Map 是不属于 Collection 的。Map 接口是一个独立的数据结构,同时依赖于Collection接口,Collection接口又依赖于迭代器Iterator接口,这样所有的集合类型都可以使用统一的方式从中取出元素。

实现类

1、List接口有三个实现类:

1.1 LinkedList

基于链表实现,链表内存是散列的,增删快,查找慢;

1.2 ArrayList

基于数组实现,非线程安全,效率高,增删慢,查找快;

1.3 Vector

基于数组实现,线程安全,效率低,增删慢,查找慢;

2、Map接口有四个实现类:

2.1 HashMap

基于 hash 表的 Map 接口实现,非线程安全,高效,支持 null 值和 null键;

2.2 HashTable

线程安全,低效,不支持 null 值和 null 键;

2.3 LinkedHashMap

是 HashMap 的一个子类,保存了记录的插入顺序;

2.4 SortMap 接口

TreeMap,能够把它保存的记录根据键排序,默认是键值的升序排序

3.Set接口

3.1HashSet 速度最快,没有明显的顺序保存元素,集合元素可以是null,但是只能放入一个null

3.2LinkedHashSet 按照被添加的顺序保存对象

3.3TreeSet 按照比较结果升序保存对象

list和map的区别

List是存储单列数据的集合,存储的数据是有序并且是可以重复的;Map存储双列数据的集合,通过键值对存储数据,存储 的数据是无序的,Key值不能重复,value值可以重复。

List 集合中对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象,例如通过list.get(i)方法来获取集合中的元素;

Map 中的每一个元素包含一个键和一个值,成对出现,键对象不可以重复,值对象可以重复;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值