欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java集合学习之Map集合

程序员文章站 2022-05-24 22:41:33
...

Map集合没有继承Collection接口,其提供的是key到value的映射,Map中不能包含相同的key值,每个key只能映射一个相同的value。key值还决定了存储对象在映射中的存储位置.但不是key对象本身决定的,而是通过散列技术进行处理,可产生一个散列码的整数值,散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置.Map集合包括Map接口以及Map接口所实现的类.

HashMap按照哈希算法来存取元素的键对象
TreeMap会对键对象进行排序,默认是升序排序

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


public class MapTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//创建一个HashMap
		Map map=new HashMap();
		map.put("a", 1);
		map.put("b", 2);
		map.put("c", 3);
		//创建一个迭代器
		Iterator iterator=map.keySet().iterator();
		while(iterator.hasNext()){
			Object key=iterator.next();
			Object value=map.get(key);
			System.out.println("the key is:"+key+",the value is:"+value);
		}
		System.out.println("*******************");
		//创建一个TreeMap
		Map<String,String> map2=new TreeMap<String,String>();
		map2.put("b", "2");
		map2.put("a", "1");		
		map2.put("c", "3");
		Set<Map.Entry<String,String>> set=map2.entrySet();
		Iterator<Map.Entry<String, String>> iterator2=set.iterator();
		while(iterator2.hasNext()){
			Map.Entry<String, String> entry=iterator2.next();
			System.out.println(entry.getKey()+" "+entry.getValue());
		}
		
	}

}

 

从控制台输出:

the key is:b,the value is:2
the key is:c,the value is:3
the key is:a,the value is:1
*******************
a 1
b 2
c 3