Collection和Map的三种不同的遍历方式 您所在的位置:网站首页 遍历map集合的三种方法 Collection和Map的三种不同的遍历方式

Collection和Map的三种不同的遍历方式

2024-02-13 23:59| 来源: 网络整理| 查看: 265

Collection和Map的三种不同的遍历方式 Collection的三种遍历遍历方式Collection集合体系Collection采用Iterator进行遍历Collection采用forEach/增强for循环进行遍历Collection采用Lambda表达式进行遍历 Map的三种遍历遍历方式Map集合体系Map采用键找值方式进行遍历Map采用键值对方式进行遍历Map采用Lambda表达式进行遍历

Collection的三种遍历遍历方式 Collection集合体系

Collection集合体系 Collection是一个接口,其下有两个常用的集合体系,一个是List,另一个是Set。

List系列集合:添加的元素是有序、可重复、有索引。 实现类: ArrayList、LinekdList :有序、可重复、有索引。 Set系列集合:添加的元素是无序、不重复、无索引。 实现类: HashSet: 无序、不重复、无索引; LinkedHashSet: 有序、不重复、无索引。 TreeSet:按照大小默认升序排序、不重复、无索引。 集合初始化

Collection vehicles = new ArrayList(); //Set vehicles = new HashSet(); //Set集合遍历类似,改为HashSet即可 //List vehicles = new ArrayList(); Collections.addAll(vehicles, "飞机", "坦克", "马车", "火车", "电车", "轻轨", "磁悬浮列车"); Collection采用Iterator进行遍历 //1、第一种遍历方式:使用迭代器 System.out.println("使用Iterator迭代器进行遍历:"); Iterator it = vehicles.iterator(); while (it.hasNext()) { System.out.print(it.next() + " "); } System.out.println("\n" + "---------------------------------"); Collection采用forEach/增强for循环进行遍历 //2、第二种遍历方式:增强for循环进行遍历 System.out.println("使用增强for循环进行遍历:"); for (String vehicle : vehicles) { System.out.print(vehicle + " "); } System.out.println("\n" + "---------------------------------"); System.out.println("使用匿名内部类进行遍历:"); vehicles.forEach(new Consumer() { @Override public void accept(String s) { System.out.print(s + " "); } }); System.out.println("\n" + "---------------------------------"); Collection采用Lambda表达式进行遍历 //3、第三种遍历方式:Lambda表达式进行遍历 System.out.println("使用Lambda表达式进行遍历:"); vehicles.forEach((s) -> System.out.print(s + " ")); System.out.println("\n" + "---------------------------------");

遍历结果:

使用Iterator迭代器进行遍历: 飞机 坦克 马车 火车 电车 轻轨 磁悬浮列车 --------------------------------- 使用增强for循环进行遍历: 飞机 坦克 马车 火车 电车 轻轨 磁悬浮列车 --------------------------------- 使用匿名内部类进行遍历: 飞机 坦克 马车 火车 电车 轻轨 磁悬浮列车 --------------------------------- 使用Lambda表达式进行遍历: 飞机 坦克 马车 火车 电车 轻轨 磁悬浮列车 --------------------------------- Map的三种遍历遍历方式 Map集合体系

Map集合体系 Map是一个接口,其下有两个常用的集合体系,一个是HashMap,另一个是HashTable,其中,使用最多的是HashMap。

HashMap:元素按照键是无序,不重复,无索引,值不做要求,基于哈希表(与Map体系一致)

LinkedHashMap:元素按照键是有序,不重复,无索引,值不做要求,基于哈希表

TreeMap:元素只能按照键排序,不重复,无索引的,值不做要求,可以做排序

集合初始化:

Map phones = new HashMap(); phones.put("MI_10_ULTRA",5999); phones.put("MI_10_PRO",4999); phones.put("MI_10_S",3999);// Map集合后面重复的键对应的元素会覆盖前面重复的整个元素! phones.put("MI_10",3999); phones.put("MI_10_LITE",2999); Map采用键找值方式进行遍历 //第一种遍历方式:键找值,拿到集合的全部键 //1、键找值 : 拿到集合的全部键 Set keys=phones.keySet(); System.out.println("使用键找值方式进行遍历:"); //2、遍历每个键,根据键提取值 for (String key : keys) { int money=phones.get(key); System.out.println("型号:"+key+" 价格:"+money+"元"); } System.out.println("\n" + "---------------------------------"); Map采用键值对方式进行遍历 //第二种遍历方式:键值对,调用Map的方法 entrySet把Map集合转换成Set集合形式 maps.entrySet(); // 1、把Map集合转换成Set集合 Entry可以理解为同时封装了map中的kv键值对的类 System.out.println("使用键值对方式进行遍历:"); Set entries = phones.entrySet(); //2、开始遍历 for (Map.Entry entry : entries) { String phoneName=entry.getKey(); int price=entry.getValue(); System.out.println("型号:"+phoneName+" 价格:"+price+"元"); } System.out.println("\n" + "---------------------------------"); Map采用Lambda表达式进行遍历 //第三种遍历方式:Lambda表达式,JDK 1.8开始之后的新技术。 System.out.println("使用Lambda表达式进行遍历:"); phones.forEach((k, v) ->{ System.out.println("型号:"+k+" 价格:"+v+"元"); });

遍历结果:

使用键找值方式进行遍历: 型号:MI_10_S 价格:3999元 型号:MI_10_PRO 价格:4999元 型号:MI_10_LITE 价格:2999元 型号:MI_10_ULTRA 价格:5999元 型号:MI_10 价格:3999元 --------------------------------- 使用键值对方式进行遍历: 型号:MI_10_S 价格:3999元 型号:MI_10_PRO 价格:4999元 型号:MI_10_LITE 价格:2999元 型号:MI_10_ULTRA 价格:5999元 型号:MI_10 价格:3999元 --------------------------------- 使用Lambda表达式进行遍历: 型号:MI_10_S 价格:3999元 型号:MI_10_PRO 价格:4999元 型号:MI_10_LITE 价格:2999元 型号:MI_10_ULTRA 价格:5999元 型号:MI_10 价格:3999元


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有