java中map集合的三种遍历方式(代码片段)

学全栈的灌汤包 学全栈的灌汤包     2023-03-28     686

关键词:

文章目录

Map集合的遍历方式

Map集合的遍历方式有3种:

方式一:键找值的方式遍历:先获取Map集合全部的键,再根据遍历键找值。

方式二:键值对的方式遍历,把“键值对“看成一个整体,难度较大。

方式三:JDK 1.8开始之后的新技术:Lambda表达式。

Map集合的遍历方式一: 键找值

先通过keySet方法, 获取Map集合的全部键的Set集合。

遍历键的Set集合,然后通过键提取对应值。

键找值涉及到的API:

方法名称说明
keySet()获取所有键的集合
get(Object key)根据键获取值

演示代码:

public static void main(String[] args) 
    Map<String, Integer> maps = new HashMap<>();
    maps.put("华为", 10);
    maps.put("小米", 5);
    maps.put("iPhone", 6);
    maps.put("生活用品", 15);
    maps.put("java", 20);
    maps.put("python", 17);

    // 拿到全部集合的全部键
    Set<String> keys = maps.keySet();
    // 遍历键, 根据键获取值
    for (String key: keys) 
        int value = maps.get(key);
        System.out.println(key + "--->" +value);
    

Map集合的遍历方式二: 键值对

先通过entrySet方法把Map集合转换成Set集合,Set集合中每个元素都是键值对实体类型了(将键和值看成一个整体)。

遍历获取到的Set集合,然后通过getKey提取键, 以及getValue提取值。

键值对设计到的API:

方法名称说明
Set<Map.Entry<K,V>> entrySet()获取所有键值对对象的集合
getKey()获得键
getValue()获取值

演示代码:

public static void main(String[] args) 
    Map<String, Integer> maps = new HashMap<>();
    maps.put("华为", 10);
    maps.put("小米", 5);
    maps.put("iPhone", 6);
    maps.put("生活用品", 15);
    maps.put("java", 20);
    maps.put("python", 17);

    // 把Map集合转成Set集合
    Set<Map.Entry<String, Integer>> newMaps = maps.entrySet();
    // 遍历转成的Set集合
    for (Map.Entry<String, Integer> newMap : newMaps) 
        String key = newMap.getKey(); // 获取key
        Integer value = newMap.getValue(); // 获取value
        System.out.println(key + "--->" + value);
    

Map集合的遍历方式三: Lambda

得益于JDK 8开始的新技术Lambda表达式,提供了一种更简单、更直接的遍历集合的方式。

Map结合Lambda遍历的API:

方法名称说明
forEach(BiConsumer<? super K, ? super V> action)结合lambda遍历Map集合

演示代码:

public static void main(String[] args) 
    Map<String, Integer> maps = new HashMap<>();
    maps.put("华为", 10);
    maps.put("小米", 5);
    maps.put("iPhone", 6);
    maps.put("生活用品", 15);
    maps.put("java", 20);
    maps.put("python", 17);

    // 使用forEach方法遍历对象
    maps.forEach(new BiConsumer<String, Integer>() 
        @Override
        public void accept(String key, Integer value) 
            System.out.println(key + "--->" + value);
        
    );

结合Lambda简化代码

public static void main(String[] args) 
    Map<String, Integer> maps = new HashMap<>();
    maps.put("华为", 10);
    maps.put("小米", 5);
    maps.put("iPhone", 6);
    maps.put("生活用品", 15);
    maps.put("java", 20);
    maps.put("python", 17);

    // 使用forEach方法集合Lambda表达式遍历对象
    maps.forEach((key, value) -> System.out.println(key + "--->" + value));

java中list集合的三种遍历方式(全网最详)

介绍3种方式遍历list集合1创建一个modelpublicclassNews{privateintid;privateStringtitle;privateStringauthor;publicNews(intid,Stringtitle,Stringauthor){super();this.id=id;this.title=title;this.author=author;}publicint 查看详情

java数组集合的三种遍历方式(包懂)

...rint(arr[i]+"");}3迭代器遍历对于数组而言,就没必要转换为集合类的数据类型,代码反而冗杂。前面两种对于数组集合均适用迭代器对List的遍历List 查看详情

arraylist三种常用遍历(代码片段)

转至:https://www.cnblogs.com/lianoulay/p/8849747.html Java中List集合的三种遍历方式(全网最详)   List集合在Java日常开发中是必不可少的,只要懂得运用各种各样的方法就可以大大提高我们开发的效率,适当活用各种方法才会使我... 查看详情

java中数组遍历的三种方式(代码片段)

使用显示数组for,for-each,和toString题目描述1.for循环遍历程序:运行结果:2.foreach语句遍历语法格式:注:运行结果:程序:运行结果:3.Arrays工具类中toString静态方法遍历3.1.程序:运行结果:注... 查看详情

获取map集合中键和值的三种方式

//创建一个map集合HashMap<String,Integer>map=newHashMap<>();//添加元素map.put("小王",25);map.put("小张",35);map.put("小李",20);方法一:用增强for循环//用keyset()方法获取所有的键Set<String>keys=map.keySet();for(Strings: 查看详情

集合的三种遍历方式

1、for循环代码实现:for(inti=0;i<list.size();i++){productp=list.get(i);System.println(p);}2、迭代器Iterator<product>it=list.iterator();//product是一个类whlie(it.hasNext());{//判断是否有下一个元素productt=it.next();//得 查看详情

遍历map集合的三种方法

1:使用map.keySet()Setset=map.keySet();for(Stringkey:set)Stringvalue=map.get(key);2:使用map.entrySet()Set<Map.Entry<String,String>>set=map.entrySet();for(Map.Entry<String,String>entryset:set)Stringkey=entry.getKey();Stringvalue=entry.getValue();3:使用map.values()Connection... 查看详情

二叉树的三种遍历方式(代码片段)

一、二叉树的定义二叉树(BinaryTree)的递归定义:二叉树要么为空,要么由根节点(root)、左子树(leftsubtree)和右子树(rightsubtree)组成,而左子书和右子树分别是一颗二叉树。注意,在计算机中,树一般是"倒置"的,即根在上,叶子在... 查看详情

java中map遍历的4种方式(代码片段)

...ntrySet()方法: 获取map中所有的键值对,结果为Set集合在jdk版本小于1.8时,该种方式经常使用,效率高//获取map中的所有键值对,结果为Set类型的集合Set<Map.Entry<String,String>>entries=map.entrySet();/**遍历Se... 查看详情

二叉树的三种非递归遍历方式(代码片段)

前言:在之前,我们写到了二叉树的递归先、中、后序的遍历方式,今天,来讨论这三种遍历方式的非递归实现!!先序遍历思路:类似于层序遍历创建一个栈,先把根节点入栈循环取栈顶元素ÿ... 查看详情

c++vector容器中常见的三种遍历方式(代码片段)

1.迭代器for(std::vector<int>::iteratorit=vecTest.begin();it!=vecTest.end();++it) tempNum=*it;2.C++11新增关键字autofor(autoit:vecTest) tempNum=it;3.对C念念不舍的童鞋们习惯的数组写法for(size_ti=0;i<maxCount;i++) tempNum=v... 查看详情

十八二分搜索树的三种遍历方式(代码片段)

三种遍历方式:packagecom.lt.datastructure.BST;publicclassBST<EextendsComparable<E>>privateclassNodepublicEe;Nodeleft,right;publicNode(Ee)this.e=e;this.left=left;this.right=right;privateNoder 查看详情

遍历list集合的三种方式

List<String>list1=newArrayList<String>();list1.add("1");list1.add("2");list1.add("3");list1.add("4");//1、普通话for循环Stringres="";for(inti=0;i<list1.size();i++){res+=list1.get(i);}System.ou 查看详情

二叉树的三种非递归遍历方式(代码片段)

1.先序遍历1voidPreorderTraversal(BinTreeBT)23BinTreeT;4std::stack<BinTree>BtStack;5T=BT;6while(T||!BtStack.empty())78while(T)910BtStack.push(T);11printf("%c",T->Data);12T=T->Left;1314T=BtS 查看详情

spring之jdbctemplate:查询的三种方式(单个值单个对象对象集合)(代码片段)

JdbcTemplateDemo2.java packagehelloworld.jdbcTemplate;importorg.springframework.jdbc.core.JdbcTemplate;importjava.sql.*;importjava.util.List;/***功能:通过JdbcTemplate实现查询操作*查询结果需要自己封装(实现RowMapper接口)* 查看详情

遍历map集合的两种方式(代码片段)

1.Java代码importjava.util.HashMap;importjava.util.Iterator;importjava.util.Map;importjava.util.Set;/**遍历HashMap的两种方式*1.调用keySet()方法先获取key之后利用key和get()方法获取value*2.调用Set<Map.Entry<K,V>>entrySe 查看详情

数组的三种方式总结多维数组的遍历及arrays类的常用方法总结(代码片段)

一.数组的三种方式总结  1.创建数组Java语言使用new操作符来创建数组,语法如下:arrayRefVar=newdataType[arraySize];上面的语法语句做了两件事:一、使用dataType[arraySize]创建了一个数组。二、把新创建的数组的引用赋值给变量ar... 查看详情

javascript--遍历数组的三种方法map()foreach()filter()&确认数组元素是否满足某种条件(some()&every())(代码片段)

1.遍历数组1.1map()方法概述map()方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组格式说明letnewArray=["1","2","3"].map((item,index,arr)=>//转换成10进制的数字returnparseInt(item,10))map中回... 查看详情