【Java】集合遍历--List和Map的多种遍历方式

1. List的两种遍历方式

package com.nova.test;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ListDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("super");
        list.add("nova");
        list.add("supernova");
        list.add("go");

        // 通过Iterator的方式遍历
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            String str = iterator.next();
            System.out.println(str);
        }

        list.add(1, "star");// 在1位置处添加元素
        list.remove(list.size() - 1);// 删除列表最后一个元素
        
        System.out.println("通过增强for循环遍历");
        // 通过增强for循环遍历
        for(String str:list) {
            System.out.println(str);
        }
    }
}

2. Map的三种遍历方式

package com.nova.test;

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

public class MapDemo {
    public static void main(String[] args) {
        Map<Integer,String> map = new HashMap<Integer,String>();
        //存放数据
        map.put(1,"super");
        map.put(2,"nova");
        map.put(3,"supernova");
        
        //通过Set遍历
        System.out.println("通过Set遍历");
        Set<Integer> set1 = map.keySet();
        Iterator<Integer> iterator1 = set1.iterator();
        while(iterator1.hasNext()) {
            Integer id = iterator1.next();
            System.out.println(id+" "+ map.get(id));
        }
        
        map.put(2,"star");//覆盖替换key为2的值
        
        //通过EntrySet遍历
        System.out.println("通过EntrySet遍历");
        Set<Map.Entry<Integer,String>> set2 = map.entrySet();
        Iterator<Map.Entry<Integer,String>> iterator2 = set2.iterator();
        while(iterator2.hasNext()) {
            Map.Entry<Integer,String> entry = iterator2.next();
            System.out.println(entry.getKey()+" "+entry.getValue());
        }
        
        map.remove(1);//删除key为1的数
        map.put(4,"hero");//添加数据
        
        //通过增强for循环遍历
        System.out.println("通过增强for循环遍历");
        Set<Integer> set3 = map.keySet();
        for(Integer num:set3) {
            System.out.println(num+" "+map.get(num));
        }
        
        
    }
}
原文地址:https://www.cnblogs.com/snova/p/9195702.html