Android中HashMap的几个子类介绍
由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下。
[color=#00ff !important]import java.util.HashMap;
[color=#00ff !important]import java.util.Iterator;
[color=#00ff !important]import java.util.LinkedHashMap;
[color=#00ff !important]import java.util.Map;
[color=#00ff !important]public class TestLinkedHashMap {
??public static void main(String args[])
??{
? ?System.out.println("*************************LinkedHashMap*************");
? ?Map<Integer,String> map = new LinkedHashMap<Integer,String>();
? ?map.put(6, "apple");
? ?map.put(3, "banana");
? ?map.put(2,"pear");
? ?
? ?for (Iterator it =??map.keySet().iterator();it.hasNext();)
? ?{
? ? Object key = it.next();
? ? System.out.println( key+"="+ map.get(key));
? ?}
? ?
? ?System.out.println("*************************HashMap*************");
? ?Map<Integer,String> map1 = new??HashMap<Integer,String>();
? ?map1.put(6, "apple");
? ?map1.put(3, "banana");
? ?map1.put(2,"pear");
? ?
? ?for (Iterator it =??map1.keySet().iterator();it.hasNext();)
? ?{
? ? Object key = it.next();
? ? System.out.println( key+"="+ map1.get(key));
? ?}
??}
}
运行结果如下:
*************************LinkedHashMap*************
6=apple
3=banana
2=pear
*************************HashMap**************************
2=pear
6=apple
3=banana
分析:LinkedHashmap 的特点是put进去的对象位置未发生变化,而HashMap会发生变化.
再普及下:
java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap.Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。