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 @ 2021-06-08 17:44  yub4by  阅读(106)  评论(0编辑  收藏  举报