便利map

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;


public class testMap {
 public static void test(String[] args) {
     ArrayList<String> list = new ArrayList<String>();
     HashMap<Object,Object> hash = new HashMap<Object,Object>();
     TreeMap<Object,Object> treeMap = new TreeMap<Object,Object>();
     list.add("a");
     list.add("b");
     list.add("c");
   
     hash.put(3, 3);
     hash.put(4, 4);
     hash.put(5, 5);
     hash.put(6, 6);
     hash.put(1, 1);
     hash.put(2, 2);
   
     treeMap.put(1, 1);
     treeMap.put(2, 2);
     treeMap.put(3, 3);
     treeMap.put(4, 4);
     treeMap.put(5, 5);
     treeMap.put(6, 6);
   
     //list遍历
     for(String m: list){
      System.out.println(m);
     }
     // hashmap entrySet() 遍历
     for(Map.Entry<Object,Object> m: hash.entrySet()){
      System.out.println(m.getKey()+"---"+m.getValue());
     }
     //hashmap keySet() 遍历
     for(Object m: hash.keySet()){
      System.out.println(m+"---"+hash.get(m));
     }
     // treemap keySet()遍历
     for(Object m: treeMap.keySet()){
      System.out.println(m+"---"+treeMap.get(m));
     }
  }
 
 
 public static void main(String[] args) {  
     Map map = new HashMap();  
     map.put("1", "a");  
     map.put("2", "b");  
     Iterator it = map.entrySet().iterator();  
     while (it.hasNext()) {  
         Map.Entry entry = (Map.Entry) it.next();  
         String key = (String)entry.getKey();  
         String value = (String)entry.getValue();  
         System.out.println("key=" + key);  
         System.out.println("value=" + value);  
     }  
  
 }
}

遍历Map有多种方法,以下为你详细介绍: ### 键找值遍历 通过获取Map的所有键的集合,再根据键来获取对应的值。 ```java import java.util.HashMap; import java.util.Map; import java.util.Set; public class KeyToValueTraversal { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("huawei", 7999); map.put("java入门课程", 29); map.put("redmi", 1999); map.put("oppo", 3999); map.put("vivi", 899); Set<String> keys = map.keySet(); for (String key : keys) { Integer value = map.get(key); System.out.println(key + " ===> " + value); } } } ``` 这种方式的缺点是,使用增强for循环遍历的时候,无法直接确定元素类型[^1]。 ### 遍历Entry对象 直接遍历Map中的键值对对象(Entry)。 ```java import java.util.HashMap; import java.util.Map; public class EntryTraversal { public static void main(String[] args) { HashMap<String, String> map = new HashMap<>(); map.put("01", "zhangsan"); map.put("02", "lisi"); map.put("03", "wangwu"); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println(entry.getKey() + entry.getValue()); } } } ``` ### 借助while循环遍历键集合 对键的Set集合,使用while循环和迭代器进行遍历。 ```java import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class WhileLoopTraversal { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("huawei", 7999); map.put("java入门课程", 29); map.put("redmi", 1999); map.put("oppo", 3999); map.put("vivi", 899); Set<String> set = map.keySet(); Iterator<String> iterator = set.iterator(); while (iterator.hasNext()) { String next = iterator.next(); System.out.println("key为:" + next + ",value为:" + map.get(next)); } } } ``` ### Lambda表达式结合forEach方法遍历 使用Lambda表达式结合`forEach`方法可以更简洁地遍历Map。 ```java import java.util.HashMap; import java.util.Map; public class LambdaForEachTraversal { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("huawei", 7999); map.put("java入门课程", 29); map.put("redmi", 1999); map.put("oppo", 3999); map.put("vivi", 899); map.forEach((key, value) -> System.out.println(key + " ===> " + value)); } } ``` ### Stream API遍历 Java 8引入的Stream API提供了一种函数式编程的方式来处理Map。 ```java import java.util.HashMap; import java.util.Map; public class StreamTraversal { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("huawei", 7999); map.put("java入门课程", 29); map.put("redmi", 1999); map.put("oppo", 3999); map.put("vivi", 899); map.entrySet().stream().forEach(entry -> System.out.println(entry.getKey() + " ===> " + entry.getValue())); } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值