將屬性列表轉換為Map的Java程式


在本文中,我們將學習如何將屬性列表轉換為MapJava中。Properties 類通常用於儲存鍵值對,但有時您可能需要在Map結構中使用這些鍵值對。我們將演示如何獲取屬性並將它們轉換為HashMap

問題陳述

編寫一個Java程式,將屬性列表轉換為Map結構:

輸出

Key and Value of the Map...
P: 1
Q: 2
R: 3
S: 4
T: 5
U: 6
V: 7

將屬性列表轉換為Map的步驟:

以下是將屬性列表轉換為Map的步驟:

  • 首先,從java.util 包匯入必要的類,例如HashMap、Map、Properties和Set。
  • 使用Properties p = new Properties()建立一個Properties 類的例項。
  • 在Properties物件上使用setProperty() 方法新增鍵值對。
  • 透過將Properties例項傳遞給HashMap建構函式,將Properties物件轉換為HashMap。
  • 使用entrySet() 方法從HashMap中檢索條目。
  • 使用for迴圈迭代map條目並列印每個鍵值對。

將屬性列表轉換為Map的Java程式

以下是將屬性列表轉換為Map的Java程式:

import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

public class Demo {
   public static void main(String args[]) {
      Properties p = new Properties();
      p.setProperty("P", "1");
      p.setProperty("Q", "2");
      p.setProperty("R", "3");
      p.setProperty("S", "4");
      p.setProperty("T", "5");
      p.setProperty("U", "6");
      p.setProperty("V", "7");

      // Manually convert Properties to HashMap
      HashMap<String, String> map = new HashMap<>();
      for (String key : p.stringPropertyNames()) {
         map.put(key, p.getProperty(key));
      }

      Set<Map.Entry<String, String>> set = map.entrySet();
      System.out.println("Key and Value of the Map... ");
      for (Map.Entry<String, String> m : set) {
         System.out.print(m.getKey() + ": ");
         System.out.println(m.getValue());
      }
   }
}

輸出

Key and Value of the Map...
P: 1
Q: 2
R: 3
S: 4
T: 5
U: 6
V: 7

程式碼解釋

要將屬性列表轉換為map,讓我們首先建立一個Properties類的物件:

Properties p = new Properties();

現在,使用setProperty()設定鍵值對:

p.setProperty("P", "1");
p.setProperty("Q", "2");
p.setProperty("R", "3");
p.setProperty("S", "4");
p.setProperty("T", "5");
p.setProperty("U", "6");

這樣,屬性列表轉換為Map的方式如下:

HashMap<String, String>map = new HashMap<String, String>((Map) p);

然後,它透過使用stringPropertyNames()迴圈遍歷屬性名稱並使用getProperty()獲取每個值來手動將Properties轉換為HashMap最後,程式迭代HashMap的條目並列印鍵值對。

更新於:2024年9月19日

753 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告