近来做程序的时候需要使MAP遍历出来的对像的顺序应该是输入时候的顺序,但是打出来的顺序是不对的,然后才发现自己忽略了MAP是无序的,所以会出现以下现象:
打印出来的是:
map:ccc
map:aaa
map:bbb
呵呵,找了好半天终于找到一个MAp接口的实现类,有链表功能的:
打印出来是:
linkeMap:aaa
linkeMap:bbb
linkeMap:ccc
我要的效果实现了,呵呵,这个linkedMap的性能,官方的说法是这样的:
由于增加了维护链接列表的开支,其性能很可能比 HashMap 稍逊一筹,不过这一点例外:LinkedHashMap
的 collection 视图迭代所需时间与映射的大小 成比例。HashMap
迭代时间很可能开支较大,因为它所需要的时间与其容量 成比例。
链接的哈希映射具有两个影响其性能的参数:初始容量和加载因子。它们的定义与 HashMap 极其相似。要注意,为初始容量选择非常高的值对此类的影响比对 HashMap 要小,因为此类的迭代时间不受容量的影响。
所以要用到遍历的话,基本上和HASHMAP的性能差不多的。