软件编程
位置:首页>> 软件编程>> java编程>> Java中遍历Map的六种方法实现

Java中遍历Map的六种方法实现

作者:Janson666  发布时间:2022-03-21 13:30:58 

标签:Java,遍历,Map

1. 遍历map方法

  • 通过 keySet() 方法获取全部的key值;

  • 通过 values() 方法获取全部的value值;

  • 通过遍历key值获取value值;

  • 通过entrySet()方法,进行遍历;

  • 使用lambda表达式;

  • 采用迭代器方式,方便进行元素的删除操作;

2. 方案实现

2.1 获取全部的key值

/**
* 1.获取全部的key值
*/
public void testMap1(){
   HashMap<String, Object> map = new HashMap<>();
   Set<String> keySet = map.keySet();
   for (String key: keySet){
       System.out.println(key);
   }
}

2.2 获取全部的value值

/**
* 2.获取全部的value值
*/
public void testMap2(){
   HashMap<String, Object> map = new HashMap<>();
   Collection<Object> values = map.values();
   for (Object value: values){
       System.out.println(value);
   }
}

2.3 通过遍历key值获取value值

/**
* 3.通过遍历key值获取value值
*/
public void testMap3(){
   HashMap<String, Object> map = new HashMap<>();
   Set<String> keySet = map.keySet();
   for (String key: keySet){
       Object value = map.get(key);
       System.out.println(value);
   }
}

2.4 通过entrySet()方法进行遍历

/**
* 4.通过entrySet()方法,进行遍历
*/
public void testMap4(){
   HashMap<String, Object> map = new HashMap<>();
   Set<Map.Entry<String, Object>> entrySet = map.entrySet();
   for (Map.Entry<String, Object> entry: entrySet){
       // entry代表map元素的一个对象,通过对象调用getValue()方法,获取value数据,也可以调用getKey()方法,获取key值
       Object value = entry.getValue();
       System.out.println(value);
   }
}

2.5 使用lambda表达式

/**
* 5.使用lambda表达式
*/
public void testMap5(){
   HashMap<String, Object> map = new HashMap<>();
   map.forEach((key,value)->{
       // 直接获取key值和value值
       System.out.println("key: " + key + "value: " + value);
   });
}

2.6 采用迭代器方式方便进行元素的删除操作

/**
* 6.采用迭代器方式,方便进行元素的删除操作
*/
@Test
public void testMap6(){
   HashMap<String, Object> map = new HashMap<>();
   map.put("77","6666");
   Iterator<Map.Entry<String, Object>> iterator = map.entrySet().iterator();
   while (iterator.hasNext()){
       Map.Entry<String, Object> entry = iterator.next();
       if (entry.getKey().equals("77")){
           iterator.remove();
       }
   }
}

3. 总结

  • 如果只需要key值,则直接使用 keySet()方式;

  • 如果只需要value值,则直接使用values() 方式;

  • 如果需要进行遍历key,value,可以用entrySet() 或者 lambda表达式;

  • 如果需要进行遍历删除,可以用 iterator() 迭代器方式;

来源:https://blog.csdn.net/qq_42102911/article/details/128131412

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com