Java SE 048 Map深入详解及遍历Map的两种实现手段

(1)一个人只要自己不放弃自己,整个世界也不会放弃你.
(2)天生我才必有大用
(3)不能忍受学习之苦就一定要忍受生活之苦,这是多么痛苦而深刻的领悟.
(4)做难事必有所得
(5)精神乃真正的刀锋
(6)战胜对手有两次,第一次在内心中.
(7)编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~

Java SE 048 Map深入详解及遍历Map的两种实现手段

1.Map(映射)

将一个键映射到它的值上。一个Map不能包含重复的键。每一个键可以映射到一个值上面,不可以映射到多个值上。

只要出现map就要想到是一对儿。
put(K key,V value);将指定的值关联到指定到关联的键当中

## 2.values()与keySet()返回的类型为什么不同
是因为值集当中可以有重复值,但是键集当中不能有重复值。
Set符合键集不可以重复,而Collection符合值集允许有重复值。

package com.javase.map;

import java.util.HashMap;

public class MapTest2 {
    
    
	@SuppressWarnings("unchecked")
	public static void main(String[] args) {
    
    
		HashMap map = new HashMap();
		
		String str = "zhangsan";
		map.put("a", str);
		map.put("b", str);
		
		System.out.println(map);
	}
}

Map的keySet()方法会返回key的集合,因为Map的键是不能重复的,因此keySet()方法返回类型是Set;而Map的值是可以重复的,因此values()方法返回的类型是Collection,可以容纳重复的元素。

3.遍历map集合

package com.javase.map;

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

public class MapTest3 {
    
    
	@SuppressWarnings("unchecked")
	public static void main(String[] args) {
    
    
		HashMap map = new HashMap();
		map.put("a", "aa");
		map.put("b", "bb");
		map.put("c", "cc");
		map.put("d", "dd");
		map.put("e", "ee");
		map.put("f", "ff");
		
		Set set = map.keySet();
		for(Iterator iter = set.iterator(); iter.hasNext();){
    
    
			String key = (String)iter.next();
			String value =(String)map.get(key);
			System.out.println(key+"="+value);
		}
	}
}

4.通过命令行传入参数,统计命令行参数相同参数出现的次数

package com.javase.map;

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

public class MapTest4 {
    
    
	@SuppressWarnings("unchecked")
	public static void main(String[] args) {
    
    
		HashMap map = new HashMap();
		
		for(int i = 0; i < args.length; i++){
    
    
			//如果不存在这个元素就返回null,则此时可将这个值放进map进行记录,不为null表明以前它已经存在过了
			//存在则可以将其取出来,然后再放回去即可
			if(map.get(args[i])==null){
    
    
				map.put(args[i], new Integer(1));
			}else{
    
    
				Integer in= (Integer)map.get(args[i]);
				in = new Integer(in.intValue()+1);
				map.put(args[i], in);
			}
		}
		
		for(Iterator iter = map.keySet().iterator();iter.hasNext();){
    
    
			String key = (String)iter.next();
			Integer value = (Integer)map.get(key);
			System.out.println(key+"出现"+value+"次");
		}
	}
}

猜你喜欢

转载自blog.csdn.net/xiogjie_67/article/details/108540813
今日推荐