关于LinkedHashMap和HashMap的比较使用

来源:互联网 发布:软件使用文档模板 编辑:程序博客网 时间:2024/06/08 06:27
由于在学习的过程中使用到了LinkedHashMap,自己并不是太熟悉所以上网查了一些资料,整理下贴给大家看看!
import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;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=apple3=banana2=pear*************************HashMap**************************2=pear6=apple3=banana分析:LinkedHashmap 的特点是put进去的对象位置未发生变化,而HashMap会发生变化.
<span style="color: rgb(0, 0, 255); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25.200000762939453px; "> LinkedHashMap概述:</span>

   LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
   LinkedHashMap实现与HashMap的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序可以是插入顺序或者是访问顺序。
   注意,此实现不是同步的。如果多个线程同时访问链接的哈希映射,而其中至少一个线程从结构上修改了该映射,则它必须保持外部同步。



0 0
原创粉丝点击