欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中的Map集合簡單匯總解析

 更新時間:2019年10月14日 10:13:40   作者:tunan96  
這篇文章主要介紹了Java中的Map集合簡單匯總解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

Map接口簡介

Map接口是一種雙列集合,它的每個元素都包含一個鍵對象Key和值對象Value,鍵和值對象之間存在一種對應關系,稱為映射。從Map集合中訪問元素時,只要指定了Key,就能找到對應的Value,

Map中的鍵必須是唯一的,不能重復,如果存儲了相同的鍵,后存儲的值會覆蓋原有的值,簡而言之就是鍵相同,值覆蓋。

Map常用方法

put(K key, V value) 添加數(shù)據(jù),如果先前包含該鍵的映射,則替換舊值
  get(Object key)  返回指定鍵所映射的值
  Set<Map.Entry<K,V>> entrySet() 返回地址中包含的映射的Set集合
  Set<K> keySet() 返回集合中包含的鍵的Set集合
  Collection<V> values() 返回集合中包含的值的Collection集合
  remove(Object key) 從該集合中刪除指定鍵的映射

HashMap集合

HashMap集合是Map接口的一個是實現(xiàn)類,它用于存儲鍵值映射關系,但必須保證不出現(xiàn)重復的鍵。接下來通過一個案例來學習HashMap的用法

public class Example01 {
  public static void main(String[] args) {
      Map map = new HashMap();
      map.put("1", "老大");
      map.put("2", "老二");
      map.put("3", "老三");
      System.out.println("1"+" : "+map.get("1"));    //根據(jù)鍵獲取值
      System.out.println("2"+" : "+map.get("2"));
      System.out.println("3"+" : "+map.get("3"));
  }
}

在Map中還提供了一個values()方法,通過這個方法可以直接獲取Map中存儲所有值的Collection集合。接下來通過一個案例來演示values()方法的使用

public class Example04 {
  public static void main(String[] args) {
    Map map = new HashMap();
    map.put("1", "老大");
    map.put("2", "老二");
    map.put("3", "老三");
    Collection values = map.values();
    Iterator it = values.iterator();
    while(it.hasNext()) {
      Object value = it.next();
      System.out.println(value);
    }
  }
}

在程序開發(fā)中,經(jīng)常需要取出Map中所有的鍵和值,那么如何遍歷Map中所有的鍵和值呢?

第一種方法是先遍歷Map集合中所有的鍵,再根據(jù)鍵獲取相同的值

public class Example02 {
  public static void main(String[] args) {
    Map map = new HashMap();
    map.put("1", "老大");
    map.put("2", "老二");
    map.put("3", "老三");
    Set keySet = map.keySet();      //獲取鍵的集合
    Iterator it = keySet.iterator();      //迭代鍵的集合
    while(it.hasNext()) {
      Object key = it.next();
      Object value = map.get(key);    //獲取每個鍵所對應的值
      System.out.println(key+" : "+value);
    }
  }
}

第二種方法是先獲取集合中的所有的映射關系,然后從映射關系中取出鍵和值。

public class Example03 {
  public static void main(String[] args) {
    Map map = new HashMap();
    map.put("1", "老大");
    map.put("2", "老二");
    map.put("3", "老三");
    Set set = map.entrySet();
    Iterator it = set.iterator();        //獲取迭代器對象
    while(it.hasNext()) {
      Map.Entry entry = (Map.Entry) it.next();        //獲取集合中鍵值對映射
      Object key = entry.getKey();      //獲取Entry中的鍵
      Object value = entry.getValue();      //獲取Entry中的值
      System.out.println(key+" : "+value);
    }
  }
}

HashMap集合迭代出來元素的順序和存入的順序是不一致的。如果想讓這兩個順序一致,可以使用Java中提供的LinkedHashMap類,它是HashMap的子類,與LinkedList一樣,它也使用雙向鏈表來維護內部元素的關系,使Map元素迭代的順序與存入的順序一致。

通過一個案例來學習LinkedHashMap的用法

public class Example05 {
  public static void main(String[] args) {
    Map map = new LinkedHashMap();      //創(chuàng)建Map集合
    map.put("1", "老大");      //存儲鍵和值
    map.put("2", "老二");
    map.put("3", "老三");
    Set keySet = map.keySet();
    Iterator it = keySet.iterator();
    while(it.hasNext()) {
      Object key = it.next();
      Object value = map.get(key);      //獲取每個鍵所對應的值
      System.out.println(key+" : "+value);
    }
  }
}

Properties集合

Map接口中還有一個實現(xiàn)類Hashtable,它和HashMap十份相似,區(qū)別在于Hashtable是線程安全的。Hashtable存取于元素時速度很慢,目前基本上被HashMap類所取代,但Hashtable類有一個子類Properties,在實際應用中非常重要

Properties只要用于存儲字符串類型的鍵和值,在實際開發(fā)中,經(jīng)常使用Properties集合來存取應用的配置項。假設有一個文本編輯工具,要求默認背景是紅色,字體大小為14px,語言為中文,其位置如下

  Backgroup-color = red
  Font-size = 14px
  Language = chinese

在程序中可以使用Properties集合對這些配置進行存取,接下來通過一個案例來學習Properties集合的使用

public class Example06 {
  public static void main(String[] args) {
    Properties p = new Properties();    //創(chuàng)建Properties對象
    p.setProperty("Backgroup-color", "red");
    p.setProperty("Font-size ", "14px");
    p.setProperty("Language", "chinese");
    Enumeration names = p.propertyNames();
    while(names.hasMoreElements()) {    //循環(huán)遍歷所有的鍵
      String key =(String) names.nextElement();
      String value = p.getProperty(key);    //或獲取鍵對應的值
      System.out.println(key+" = "+value);
    }
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java NumberFormat 類的詳解及實例

    Java NumberFormat 類的詳解及實例

    這篇文章主要介紹了Java NumberFormat 類的詳解及實例的相關資料,數(shù)字格式化類按照本地風格習慣進行的數(shù)字顯示,需要的朋友可以參考下
    2017-08-08
  • java實現(xiàn)隨機森林RandomForest的示例代碼

    java實現(xiàn)隨機森林RandomForest的示例代碼

    本篇文章主要介紹了java實現(xiàn)隨機森林RandomForest的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • SpringBoot JPA懶加載失效的解決方案(親測有效)

    SpringBoot JPA懶加載失效的解決方案(親測有效)

    這篇文章主要介紹了SpringBoot JPA懶加載失效的解決方案(親測有效),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java實現(xiàn)定時任務最簡單的3種方法

    Java實現(xiàn)定時任務最簡單的3種方法

    幾乎在所有的項目中,定時任務的使用都是不可或缺的,如果使用不當甚至會造成資損,下面這篇文章主要給大家介紹了關于Java實現(xiàn)定時任務最簡單的3種方法,本文通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • 圖解Eclipse j2ee開發(fā)環(huán)境的搭建過程

    圖解Eclipse j2ee開發(fā)環(huán)境的搭建過程

    這篇文章以圖文結合的方式介紹了Eclipse j2ee開發(fā)環(huán)境的搭建過程,內容很詳細,每一個步驟都有對應的操作截圖,需要的朋友可以參考下
    2015-08-08
  • 詳解eclipse項目中的.classpath文件原理

    詳解eclipse項目中的.classpath文件原理

    這篇文章介紹了eclipse項目中的.classpath文件的原理,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-12-12
  • Spring Boot如何集成模板引擎FreeMarker

    Spring Boot如何集成模板引擎FreeMarker

    這篇文章主要介紹了Spring Boot如何集成模板引擎FreeMarker,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • Java實戰(zhàn)之在線寄查快遞系統(tǒng)的實現(xiàn)

    Java實戰(zhàn)之在線寄查快遞系統(tǒng)的實現(xiàn)

    這篇文章主要介紹了如何利用Java制作一個在線寄查快遞系統(tǒng),文中采用的技術有java、SpringBoot、FreeMarker、Mysql,需要的可以參考一下
    2022-02-02
  • Java 內存模型中的happen-before關系詳解

    Java 內存模型中的happen-before關系詳解

    這篇文章主要為大家介紹了Java 內存模型中的happen-before關系示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • Java反轉字符串的10種方法

    Java反轉字符串的10種方法

    這篇文章主要介紹了Java反轉字符串的10種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,下面我們來一起學習一下吧
    2019-06-06

最新評論