Java基础(二)-- list、map、set 具体区分

1、List 、Set 和 Map 的区别

1) List, Set 都是继承自 Collection 接口。Map 相当于和 Collection 一个级别的;Map 集合存储键值对,且要求保持键的唯一性;
2) List 特点: 元素有放入顺序,元素可重复。Set 特点: 元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在 set 中的位置是有该元素的 HashCode 决定的,其位置其实是固定的)。Map 特点: 元素按键值对存储,无放入顺序 ;
3) List 接口有三个实现类:LinkedList,ArrayList,Vector。Set 接口有两个实现类:HashSet(底层由 HashMap 实现),LinkedHashSet。Map 接口有三个实现类:HashMap,HashTable,LinkedHashMap。

LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址。链表增删快,查找慢。

2、ArrayList 、 LinkedList 与 Vector 的区别

  • 因为 Array 是基于索引(index)的数据结构,它使用索引在数组中搜索和读取数据是很快的。Array 获取数据的时间复杂度O(1),但是要删除数据却是开销很大的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值