List、Set、Map

本文详细介绍了Java中的List, Set, Map三种数据结构,包括它们的结构特点、实现方式以及主要区别,如List有序可重复,Set无序无重复,Map键值对形式存储,键不允许重复但值可重复。通过示例展示了如何创建和操作这些集合。
摘要由CSDN通过智能技术生成

一、结构特点

List、Set都继承与Collection接口。

Map是基于键值对形势存储的数据结构,是个独立的接口

List集合是有序的,且元素可以重复

Set集合是无序的,且它所存储的元素是不可重复的

Map集合是无序的,它的键不允许重复元素可以重复

二、怎么实现

List:

List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
System.out.println(list);
// 普通for循环
for(int i = 0; i < list.size(); i++){
   String s = list.get(i);
   System.out.println(s);
}
// 增强for循环
for (String s : list) {
    System.out.println(s);
}

打印结果:

 

 存储是有序的,且元素可以重复


 Set:

Set<String> set = new HashSet<>();
set.add("1");
set.add("6");
set.add("x");
set.add("2");
set.add("x");
set.add("a");
set.add("a");
System.out.println(set);
// 迭代器
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
      String s = iterator.next();
      System.out.println(s);
}

打印结果:

可以看到Set打印出来的结果跟我添加的结果顺序是不同的,而且这些结果是不重复的 


 Map:

Map<String,String> map = new HashMap<>();
map.put("name","Jack");
map.put("sex","man");
map.put("age","19");
map.put("name","S1mple");
map.put("height","183");
// Map会把所有的Key存放在一个Set集合中,通过.keySet()方法得到所有的Key值
Set<String> keySet = map.keySet();
// 使用迭代器打印Key值所对应的Value值
Iterator<String> it = keySet.iterator();
while (it.hasNext()) {
      String key = it.next();
      String value = map.get(key);
      System.out.println(key+":"+value);
}

打印结果:

 

 可以看到它是无序的,它的键不允许重复,元素可以重复。

三、总结

List和Set的父类都是Conection,而Map是一个独立的接口

List是有序的而且里面的数据是允许重复的

Set和Map是无序的。Set的值不允许重复。而Map是基于键值对形势存储的数据结构,所以它的Key不允许重复,但是Value允许重复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值