JavaSE-19.3.1【Properties集合作为Map集合的使用、作为Map集合的特有方法】

复制代码
 1 package day10.lesson3;
 2 
 3 import java.util.Properties;
 4 import java.util.Set;
 5 
 6 /*
 7 3 Properties集合
 8 
 9 3.1 Properties作为Map集合的使用
10 
11         Properties是一个Map体系的集合类
12         Properties可以保存到流中或从流中加载
13         属性列表中的每个键及其对应的值都是一个字符串
14         extends Hashtable<Object, object>
15         但注意Properties没有泛型
16  */
17 public class PropertiesDemo01 {
18     public static void main(String[] args) {
19 //        Properties<String, String> prop = new Properties<>(); //编译异常
20         Properties prop = new Properties();
21 
22         prop.put("001", "张三");
23         prop.put("002", "李四");
24         prop.put("003", "王五");
25 
26         //可以按照Map集合遍历方式对其进行遍历
27         Set<Object> keySet = prop.keySet();
28         for (Object key: keySet){
29             Object value = prop.get(key);
30             System.out.println(key + "," + value);
31         }
32         /*
33         003,王五
34         002,李四
35         001,张三
36         同map集合无序
37          */
38     }
39 }
复制代码
复制代码
 1 package day10.lesson3;
 2 
 3 import java.util.Properties;
 4 import java.util.Set;
 5 
 6 /*
 7 3.2 Properties作为Map集合的特有方法
 8 
 9     Object setProperty(String key, String value)
10         设置集合的键和值,都是String类型,底层调用 Hashtable方法 put
11     String getProperty(String key)
12         使用此属性列表中指定的键搜索属性
13     Set stringPropertyNames()
14         从该属性列表中返回一个不可修改的键集,其中键及其对应的值是字符串
15  */
16 public class PropertiesDemo02 {
17     public static void main(String[] args) {
18         Properties prop = new Properties();
19         prop.setProperty("001", "zhangsan");
20         prop.setProperty("002", "lisi");
21         prop.setProperty("003", "wangwu");
22         /*
23         public synchronized Object setProperty(String key, String value) {
24             return put(key, value);
25         }
26         Object put(Object key, Object value) {
27             return map.put(key, value);
28         }
29          */
30         System.out.println(prop); //{003=wangwu, 002=lisi, 001=zhangsan}
31 
32 
33         System.out.println(prop.getProperty("001")); //zhangsan
34         System.out.println(prop.getProperty("002")); //lisi
35         System.out.println(prop.getProperty("007")); //null
36 
37 
38         /*Set<String> names = prop.stringPropertyNames();
39         for (String key: names){
40             System.out.println(key);
41         }*/
42         //Properties特有遍历方法
43         Set<String> names = prop.stringPropertyNames();
44         for (String key: names){
45             String value = prop.getProperty(key);
46             System.out.println(key + "," + value);
47         }
48         /*
49         003,wangwu
50         002,lisi
51         001,zhangsan
52          */
53     }
54 }
复制代码

 

posted @   yub4by  阅读(106)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示