1、
一般的map定義:
mapmap = new hashmap();
這種map的定義,裡面的資料是亂序的,沒有順序規則可依;
2、保持有序的map定義:
mapmap = new linkedhashmap();
鍊錶結構的hashmap,是有序的,put進去的資料順序是怎樣,出來的順序也是那樣,不會打亂裡面資料的順序;
但是需要注意的一點是:如果put進去的key是存在相同值的話, 用linkedhashmap是會亂序的,而且出來的資料也不對,對於重複值的儲存,最好先合併重複的key,再將相應的key和object放進去。
3、自定義順序的map定義:
mapmap = new treemap();
這種map的順序可自定製,例如倒序:
mapmap = new treemap();
map.descendingkeyset();
附map遍歷方法:
/* 第一種: entryset只遍歷一次:它把key和value放到entry */
map map = getmap();
iterator iter = map.entryset().iterator();
while (iter.hasnext()) //高效,使用此種方式
/* 第二種: keyset實際遍歷了2次:
轉為iterator時候一次;
取key對應value又一次。*/
map map = getmap();
iterator iter = map.keyset().iterator();
while (iter.hasnext()) //效率低
Java Map排序 按key和按value
map的排序分為按key排序和按value排序。這裡講講這兩種方法。借助treemap來按key排序。treemap預設按key進行公升序排序。如果想改變預設的順序,定義乙個comparator即可。public static void main string args map.put 101,yu...
JAVA Map 公升序 降序 隨機 去重排序
一 map簡介 在講解map排序之前,我們先來稍微了解下map。map是鍵值對的集合介面,它的實現類主要包括 hashmap,treemap,hashtable以及linkedhashmap等。其中這四者的區別如下 簡單介紹 1 hashmap 我們最常用的map,它根據key的hashcode 值...
java Map 遍歷方法
第一種 效率高 foreach簡化寫法 第二種 效率低,以後盡量少使用!hashmap的遍歷有兩種常用的方法,那就是使用keyset及entryset來進行遍歷,但兩者的遍歷速度是有差別的.對於keyset其實是遍歷了2次,一次是轉為iterator,一次就從hashmap中取出key所對於的val...