将属性列表转换为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 次浏览

开启您的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.