2017-05-04 91 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对象,将它们放入列表中并对其进行排序。