簡體   English   中英

如何從ListArray獲取數據(鍵,值)

[英]How to get data (key,value) from ListArray

我使用代碼對地圖中的數據進行排序。

 Map<Integer, Integer> map = new HashMap<>();
    List list = new ArrayList(map.entrySet());
    Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>() {
        @Override
        public int compare(Map.Entry<Integer, Integer> a, Map.Entry<Integer, Integer> b) {
            return a.getValue() - b.getValue();
        }
    });

我只是將數據從map復制到List並進行排序。 如何從列表中獲取數據? list的get()方法僅返回對象,而不是我的2個整數

您的list實際上包含Map.Entry<Integer, Integer>類型的元素,因此您可以檢索每個Entry ,如下所示:

Map<Integer, Integer> map = new HashMap<>();
//add the values to map here

//Always prefer to use generic types shown below (instead of raw List)
List<Map.Entry<Integer, Integer>> list = new ArrayList<>(map.entrySet());

Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>() {
  @Override
  public int compare(Map.Entry<Integer, Integer> a,
                  Map.Entry<Integer, Integer> b){
                       return a.getValue() - b.getValue();
    }
  });

  //loop over the list to retrieve the list elements
  for(Map.Entry<Integer, Integer> entry : list) {
        System.out.println(entry.getValue());
  }

你做吧 :

 List list = new ArrayList(map.entrySet());

您可以在列表中使用泛型,然后對列表進行排序后在列表的Entry上進行迭代:

List<Entry<Integer, Integer>> list = new ArrayList(map.entrySet());
...
// your sort the list
..
// you iterate on key-value
for (Entry<Integer, Integer> entry : list){
  Integer key =  entry.getKey();
  Integer value =  entry.getValue();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM