List, Set和Map区别

List:集合中的对象按照检索位置排序,可以有重复对象。

      List直接可以用下标取集合中对象,如list[0]

Set:集合中对象不按特定的方式排序,并且没有重复对象

     Set 貌似只能遍历

     for (String str : set) {
       System.out.println(str);
}

Map:集合中每一个元素包含一对键-值对象,集合中没有重复的键对象,值对象可以重复。

Map<String, Integer> map = new HashMap<String, Integer>();
map.put("wuyihua", 20);
map.put("kexiwang", 21);
map.put("luxiaohu", 25);
System.out.println(map.get("wuyihua")); //输出为20


当然List和Map都是可以遍历的。


Collection 接口下面有List和Set。
List 下面有:
LinkedList 接口实现类 链表 插入删除 没有同步 线程不安全
ArrayList 接口实现类 数组 随机访问 没有同步 线程不安全
Vector 接口实现类 数组 同步 线程安全
对于 List ,关心的是顺序, 它保证维护元素特定的顺序(允许有相同元素),使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在 List 中的位置,类似于数组下标)来访问 List 中的元素。

Set下面有:
HashSet 保证集合里没有重复对象
TreeSet  不仅保证没有重复对象,还保证集合里对象一直处于有序的排列顺序。

对于 Set ,只关心某元素是否属于 Set (不允许有相同元素 ),而不关心它的顺序。


Map 接口是键值对的集合。如果想用名称来取值,就该选择Map接口。

map.put("大师兄”, “孙悟空”);

map.get("大师兄");  //结果是“孙悟空”




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值