遍历map集合

package com.jackey.topic;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

//循环遍历map的方法
public class CircleMap {
public static void main(String[] args) {
   Map<String, Integer> tempMap = new HashMap<String, Integer>();
   tempMap.put("a", 1);
   tempMap.put("b", 2);
   tempMap.put("c", 3);
   // JDK1.4中
   // 遍历方法一 hashmap entrySet() 遍历
   System.out.println("方法一");
   Iterator it = tempMap.entrySet().iterator();
   while (it.hasNext()) {
    Map.Entry entry = (Map.Entry) it.next();
    Object key = entry.getKey();
    Object value = entry.getValue();
    System.out.println("key=" + key + " value=" + value);
   }
   System.out.println("");
   // JDK1.5中,应用新特性For-Each循环
   // 遍历方法二
   System.out.println("方法二");
   for (Map.Entry<String, Integer> entry : tempMap.entrySet()) {
    String key = entry.getKey().toString();
    String value = entry.getValue().toString();
    System.out.println("key=" + key + " value=" + value);
   }
   System.out.println("");

   // 遍历方法三 hashmap keySet() 遍历
   System.out.println("方法三");
   for (Iterator i = tempMap.keySet().iterator(); i.hasNext();) {
    Object obj = i.next();
    System.out.println(obj);// 循环输出key
    System.out.println("key=" + obj + " value=" + tempMap.get(obj));
   }
   for (Iterator i = tempMap.values().iterator(); i.hasNext();) {
    Object obj = i.next();
    System.out.println(obj);// 循环输出value
   }
   System.out.println("");

   // 遍历方法四 treemap keySet()遍历
   System.out.println("方法四");
   for (Object o : tempMap.keySet()) {
    System.out.println("key=" + o + " value=" + tempMap.get(o));
   }
   System.out.println("11111");

   // java如何遍历Map <String, ArrayList> map = new HashMap <String,
   // ArrayList>();
   System.out
     .println("java 遍历Map <String, ArrayList> map = new HashMap <String, ArrayList>();");
   Map<String, ArrayList> map = new HashMap<String, ArrayList>();
   Set<String> keys = map.keySet();
   Iterator<String> iterator = keys.iterator();
   while (iterator.hasNext()) {
    String key = iterator.next();
    ArrayList arrayList = map.get(key);
    for (Object o : arrayList) {
     System.out.println(o + "遍历过程");
    }
   }
   System.out.println("2222");
   Map<String, List> mapList = new HashMap<String, List>();
   for (Map.Entry entry : mapList.entrySet()) {
    String key = entry.getKey().toString();
    List<String> values = (List) entry.getValue();
    for (String value : values) {
     System.out.println(key + " --> " + value);
    }
   }
}
}

```java import java.util.ArrayList; import java.util.Iterator; public class IterateArrayListWithIterator { /** * 使用 Iterator 遍历 ArrayList 集合 * @param list 要遍历的 ArrayList 集合 */ public static void iterateWithIterator(ArrayList<String> list) { // 判断集合是否为 null 或空 if (list == null || list.isEmpty()) { System.out.println("列表为空或未初始化"); return; } // 获取迭代器对象 Iterator<String> iterator = list.iterator(); // 使用 while 循环遍历 System.out.println("=== 使用 Iterator 遍历 ArrayList ==="); while (iterator.hasNext()) { // 检查是否还有下一个元素 String element = iterator.next(); // 获取下一个元素 System.out.println(element); } } // 示例 main 方法用于测试 public static void main(String[] args) { ArrayList<String> myList = new ArrayList<>(); myList.add("apple"); myList.add("banana"); myList.add("cherry"); iterateWithIterator(myList); } } ``` ### 解释: - `iterator()`:调用 `list.iterator()` 获取该集合的迭代器。 - `hasNext()`:返回 `true` 表示还有下一个元素,是循环继续的条件。 - `next()`:返回当前元素,并将指针移动到下一个位置。 - **安全性**:使用 `Iterator` 是线程安全(在单线程中)且推荐的方式,尤其当你可能在遍历中删除元素时,应使用 `iterator.remove()`。 ✅ 输出结果: ``` === 使用 Iterator 遍历 ArrayList === apple banana cherry ``` > 💡 提示:如果要在遍历过程中删除元素,可以使用 `iterator.remove()`,而不能直接使用 `list.remove()`,否则会抛出 `ConcurrentModificationException`。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值