java中的Map遍历方式总结

java中的Map遍历方式总结

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

public class Demo1 {
     
	//	使用HashMap对字符串每个字符的个数进行统计
	public static void main(String[] args) {
     
		String s = "sdfljsdklfjkldsjfdc2345tf45fsfsd";
		Map<String, Integer> map = new HashMap<>();
		for(int i = 0; i < s.length(); ++i) {
     
			String x = String.valueOf(s.charAt(i));
			Integer a = map.get(x);
			if(a != null) {
     
				map.put(x, a + 1);
			}
			else {
     
				map.put(x, 1);
			}
		}
//		/*
		//	使用forEach增强循环
		for(Map.Entry<String, Integer> entry :  map.entrySet()){
     
			String s1 = entry.getKey().toString();
			int i = entry.getValue();
			System.out.println(s1 + ": " + i);
		}
//		*/
//		/*
		//	使用entrySet的迭代器去遍历
		Iterator<Map.Entry<String, Integer>> it = map.entrySet().iterator();
		while (it.hasNext()) {
     
		   Map.Entry<String,Integer> entry = it.next();
		   String key = entry.getKey();
		   int value = entry.getValue();
		   System.out.println("key=" + key + " value=" + value);
		}
//		*/
//		/*
		//	使用keySet增强for循环去遍历
		for(String s1 : map.keySet()) {
     
			System.out.println(s1 + ":" + map.get(s1));
		}
//		*/
		//	使用keySet迭代器去遍历
		for(Iterator<String> itr = map.keySet().iterator(); itr.hasNext(); ) {
     
			String s2 = itr.next();
			System.out.println("key=" + s2 + " value=" + map.get(s2));
		}
		//	只遍历值
		for(int x : map.values()) {
     
			System.out.println(x);
		}
	}

}

你可能感兴趣的:(Java入门教程,java)