Java List,Set,Map的常用遍历方式

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

/**
 * List,Set,Map遍历
 *
 */
public class Test1 {
	//测试主方法
	

	public static void main(String[] args) {
		//ArrayList
		//List<String> names=new ArrayList<String>();
		//LinkedList
		//List<String> names=new LinkedList<String>();
		//HashSet
		Set<String> names=new HashSet<String>();
		names.add("李白");
		names.add("韩信");
		names.add("露娜");
		names.add("猴子");
		//getListEle(names);
		getSetEle(names);
		
		Map<Integer, String> heros = new HashMap<Integer,String>();
		heros.put(1, "张飞");
		heros.put(2, "牛魔");
		heros.put(3, "蔡文姬");
		heros.put(4, "鲁班大师");
		heros.put(5, "钟馗");
		getMapEle(heros);
	}
	
	//List遍历
	public static <T> void getListEle(List<T> list) {
		//普通for循环遍历
		System.out.println("===普通for循环遍历===");
		for(int i=0;i<list.size();i++) {
			System.out.println(list.get(i));
		}
		
		//增强for循环遍历
		System.out.println("===增强for循环遍历===");
		for(T l:list) {
			System.out.println(l);
		}
		
		//Iterator遍历
		System.out.println("===Iterator遍历===");
		Iterator<T> iterator = list.iterator();
		while(iterator.hasNext()) {
			System.out.println(iterator.next());
		}
		
		//stream遍历
		System.out.println("===stream遍历===");
		list.stream().forEach(System.out::println);
	}
	
	//Set遍历
	public static <T> void getSetEle(Set<T> set) {
		//增强for循环遍历
		System.out.println("===增强for循环遍历===");
		for(T s:set) {
			System.out.println(s);
		}
		
		//Iterator遍历
		System.out.println("===Iterator遍历===");
		Iterator<T> iterator = set.iterator();
		while(iterator.hasNext()) {
			System.out.println(iterator.next());
		}
		
		//stream遍历
		System.out.println("===stream遍历===");
		set.stream().forEach(System.out::println);
	}
	
	//Map遍历
	public static <K,V> void getMapEle(Map<K,V> map) {
		//通过key进行遍历
		System.out.println("======通过key进行遍历======");
		Set<K> keys = map.keySet();
		
		//增强for循环遍历
		System.out.println("===增强for循环遍历===");
		for(K key:keys) {
			System.out.println(key+"->"+map.get(key));
		}
		
		//Iterator遍历
		System.out.println("===Iterator遍历===");
		Iterator<K> iterator = keys.iterator();
		while(iterator.hasNext()) {
			K key=iterator.next();
			System.out.println(key+"->"+map.get(key));
		}
		
		//stream遍历
		System.out.println("===stream遍历===");
		keys.stream().forEach(key->System.out.println(key+"->"+map.get(key)));

		//通过entry进行遍历
		System.out.println("======通过entry进行遍历======");
		Set<Entry<K,V>> maps=map.entrySet();
		
		//增强for循环遍历
		System.out.println("===增强for循环遍历===");
		for(Entry<K,V> m:maps) {
			System.out.println(m.getKey()+"->"+m.getValue());
		}
		
		//Iterator遍历
		System.out.println("===Iterator遍历===");
		Iterator<Entry<K,V>> m=maps.iterator();
		while(m.hasNext()) {
			Entry<K,V> e=m.next();
			System.out.println(e.getKey()+"->"+e.getValue());
		}
		
		//stream遍历
		System.out.println("===stream遍历===");
		maps.stream().forEach(e->System.out.println(e.getKey()+"->"+e.getValue()));
	}
}
发布了8 篇原创文章 · 获赞 0 · 访问量 168

猜你喜欢

转载自blog.csdn.net/weixin_44231438/article/details/104545422