一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java map存放數組并取出值代碼詳解

Java map存放數組并取出值代碼詳解

2021-01-14 15:56DAO的博客 Java教程

這篇文章主要介紹了Java map存放數組并取出值代碼詳解的相關內容,小編覺得挺不錯的,這里給大家分享一下,需要的朋友可以參考。

獲取map的值主要有四種方法,這四種方法又分為兩類,一類是調用map.keySet()方法來獲取key和value的值,另一類則是通過map.entrySet()方法來取值,兩者的區別在于,前者主要是先獲取到所有的key的集合,當你需要查詢value的值的時候需要通過key來查詢value,后者則直接將key和value的鍵值對直接取出來,只用查詢一次,對于那種性能更好,我覺得還是用map.entrySet()更好一點,具體請參見map.keySet()和map.EntrySet()的比較,接下來就具體介紹一下四種遍歷方法以及map里面的元素通過key或者value來比較大小并排序:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package com.sort;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public class Test {
  public static void main(String[] args) {
    Map<String,String> map = new HashMap<String,String>();
    map.put("b","4");
    map.put("a","5");
    map.put("c","3");
    map.put("d","5");
    //通過map.keySet()方法
    //方法一:通過得到key的值,然后獲取value;
    /*for(String key : map.keySet()){
      String value = map.get(key);
      System.out.println(key+" "+value);
    }*/
    //使用迭代器,獲取key;
    /*Iterator<String> iter = map.keySet().iterator();
    while(iter.hasNext()){
      String key=iter.next();
      String value = map.get(key);
      System.out.println(key+" "+value);
    }*/
    //通過map.entrySet()方法
    //方法一:循環map里面的每一對鍵值對,然后獲取key和value
    /*for(Entry<String, String> vo : map.entrySet()){
      vo.getKey();
      vo.getValue();
      System.out.println(vo.getKey()+" "+vo.getValue());
    }*/
    /*//使用迭代器,獲取key
    Iterator<Entry<String,String>> iter = map.entrySet().iterator();
    while(iter.hasNext()){
      Entry<String,String> entry = iter.next();
      String key = entry.getKey();
      String value = entry.getValue();
      System.out.println(key+" "+value);
    }*/
    //將map<String,String> 轉化為ArryList,但list里面的元素為Entry<String,String>
    List<Entry<String,String>> list = new ArrayList<Map.Entry<String,String>>(map.entrySet());
    Collections.sort(list,new Comparator<Entry<String,String>>(){
      @Override
      public int compare(Entry<String, String> o1,
          Entry<String, String> o2) {
        int flag = o1.getValue().compareTo(o2.getValue());
        if(flag==0){
          return o1.getKey().compareTo(o2.getKey());
        }
        return flag;
      }
    });
    //遍歷list得到map里面排序后的元素
    for(Entry<String, String> en : list){
      System.out.println(en.getKey()+" "+en.getValue());
    }
  }
}

 

運行輸出

?
1
2
3
4
c 3
b 4
a 5
d 5

注:當value值相同時,比較key大小,按照從小到大排序。

總結:

以上就是本文關于Java map存放數組并取出值代碼詳解的全部內容,希望對大家有所幫助。有什么問題可以隨時留言,小編會及時回復大家的。

原文鏈接:http://blog.csdn.net/zhangbingtao2011/article/details/53581823

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品亚洲w码日韩中文 国产精品香蕉在线观看不卡 | 亚洲天堂三区 | 国产成人精品日本亚洲网站 | 日本人作爰啪啪全过程 | 青青精品| 国产精品29页 | 久久日韩精品无码一区 | 99年水嫩漂亮粉嫩在线播放 | 91香蕉依人综合久久 | 国产91第一页 | 美女撒尿部位无遮挡 | 亚洲一区二区三区福利在线 | 免费高清特黄a 大片 | 能播放的欧美同性videos | 97色综合 | bt伙计最新合集 | 亚洲邪恶天堂影院在线观看 | 双性np肉文| 亚洲欧美另类综合 | 国产成人一区二区三区小说 | 成人国产精品视频频 | 色多多视频网站 | 日本一区二区三区在线 视频 | 亚洲首页国产精品丝袜 | 痴mu动漫成年动漫在线观看 | 爽好舒服把腿张小说 | 农村妇女野外性生话免费视频 | 国产午夜精品不卡视频 | 亚洲麻豆精品果冻传媒 | 好大水好多好爽好硬好深视频 | 男男同gayxxx | 猥琐对着美女飞机喷到脸上 | 超强台风免费观看完整版视频 | 丝瓜视频看污片 | 五月天在线视频观看 | 高清国产欧美一v精品 | 波多野结衣一区免费作品 | 天天干天天操天天碰 | 亚洲小视频网站 | 男人操女人免费视频 | 欧美一区二区不卡视频 |