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