【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));
		}
		
		
	}
}


猜你喜欢

转载自blog.csdn.net/xin93/article/details/79858024
今日推荐