2017-05-04 56 views
0

所以我真的是新的列表,我想知道我是否已經正確理解以下代碼,更具體地說,Entry語句的功能是什麼。Entry語句的功能是什麼?

是否因爲Entry聲明myList能夠接受來自myHashMap的條目以便稍後使用比較器對列表進行排序?

List<Entry<String, Integer>> myList = new LinkedList<Entry<String, Integer>>(myHashMap.entrySet()); 

    Collections.sort(myList, new Comparator<Entry<String, Integer>>(){ 

     @Override 
     public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2){ 

      return o1.getValue().compareTo(o2.getValue()); 
     } 

    }); 
+1

** HasMap **以** Entry **對象的形式存儲元素,並且當您創建一個用於保存** Entry **對象的列表時,您的列表已接受從** HashMap **設置的條目。 –

回答

1

是不是因爲輸入語句myList中是能夠接受來自myHashMap條目爲了以後排序列表與比較的?

沒錯!

一個HashMap如你所知,有這樣的結構:

{ 
    key1: value1, 
    key2: value2, 
    key3: value3, 
    ... 
} 

每個KVP被稱爲Entry。換句話說,HashMap可以由一組Entry對象表示。這正是entrySet方法的作用。您使用entrySet將所有KVPs作爲Entry對象,將它們放入列表中並對其進行排序。