Java Map 排序定義

2021-07-13 06:19:22 字數 889 閱讀 8160

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...