天天看点

java集合学习之Map集合

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