ListSetAndMap

package com.collection.test;

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

/**
 * Java中的list、set、map遍历总结
 * @author xiaoyin
 *
 */
public class ListSetAndMap {

	public static void main(String[] args) {
		// List集合的遍历  
		testList();
		// Set集合的遍历  
		testSet();
		// Map集合的遍历  
		testMap();
	}

	/**
     * 遍历map集合的方法:
     * 1.使用keySet()获得key的set集合,然后使用Iterator迭代器或foreach遍历set即可,但是只能直接取出key,再通过key取出value,两种方法
     * 2.使用entrySet()获得key-value的set集合,然后使用Iterator迭代器或foreach遍历set即可,可同时取出key和value,两种方法
     */
	private static void testMap() {
		Map<String, String> maps = new HashMap<>();
		maps.put("001", "Java");
		maps.put("002", "Spring");
		maps.put("003", "SpringMVC");
		maps.put("004", "Mybatis");
		
		// Map遍历方法1-1: 使用keySet得到key的Set集合,再使用foreach遍历Set集合
		Set<String> keySet = maps.keySet();
		for (String ss : keySet) {
			String key = ss;
			String value = maps.get(ss);
			System.out.println(key + ":" + value);
		}
		// Map遍历方法1-2:  使用keySet得到key的Set集合,再使用Iterator迭代器遍历
		Iterator<String> iterator = keySet.iterator();
		while (iterator.hasNext()) {
			String key = iterator.next();
			String value = maps.get(key);
			System.out.println(key + ":" + value);
		}
		// Map遍历方法2-1: 使用entrySet()获得key-value的Set集合,然后使用foreach遍历Set即可
		Set<Entry<String, String>> entrySet = maps.entrySet();
		for (Entry<String, String> entry : entrySet) {
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key + ":" + value);
        }
		// Map遍历方法2-2: 使用entrySet()获得key-value的Set集合,然后使用Iterator迭代器遍历
        Iterator<Entry<String, String>> entryIt = entrySet.iterator();
        while (entryIt.hasNext()) {
            Map.Entry<String, String> entry = (Entry<String, String>) entryIt.next();
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key + " : " + value);
        }
	}

	/**
	 * 遍历Set集合的方法:
     * 1.使用foreach遍历
     * 2.使用Iterator迭代器
     * 3.将Set集合转换为List再遍历
	 */
	private static void testSet() {
		Set<String> set = new HashSet<>();
		set.add("Set111");
		set.add("Set222");
		set.add("Set333");
		set.add("Set444");
		
		// 2-1 使用foreach遍历
		for (String value : set) {
			System.out.println(value);
		}
		// 2-2 使用Iterator迭代器
		Iterator<String> iterator = set.iterator();
		while(iterator.hasNext()){
			String value = iterator.next();
			System.out.println(value);
		}
		// 2-3 将Set集合转换为List再遍历
		List<String> setList = new ArrayList<>(set);//set转list
		// 遍历方法 (可用list遍历方式去遍历)
		for (String value : setList) {
			System.out.println(value);
		}
	}

	/**
	 * 遍历List集合的方法:
	 * 1.使用for循环遍历
     * 2.使用Iterator迭代器
     * 3.使用foreach遍历
	 */
	private static void testList() {
		List<String> list = new ArrayList<>();
		list.add("林徽因");
		list.add("陆小曼");
		list.add("阮玉玲");
		list.add("周璇");
		
		// 1-1 使用for循环遍历
		for (int i = 0; i < list.size(); i++) {
			String value = list.get(i);
			System.out.println(value);
		}
		// 1-2 使用Iterator循环遍历
		for(Iterator<String> iterator = list.iterator();iterator.hasNext();){
			String value = iterator.next();
			System.out.println(value);
		}
		// 1-3 使用foreach遍历
		for (String value : list) {
		System.out.println(value);	
		}
	}

}
原文地址:https://www.cnblogs.com/cao-yin/p/11795125.html