实际上,properties相当于map,也是存放key:value,因此二者的遍历方式是相似的,即找出所有的key和对应的value
这里先看看Properties类里相关的方法:
//返回key的集合
public Set<String> stringPropertyNames(){...}
//由于Properties继承了Hashtable<Object,Object>,所以可以用下面这个方法得到key的集合
public Set<K> keySet() {...}
//由于Properties继承了Hashtable<Object,Object>,所以可以用下面这个方法得到entry的集合
public Set<Map.Entry<K,V>> entrySet() {...}
//返回key的枚举
public Enumeration<?> propertyNames() {...}
1.通过properties.stringPropertyNames()获得所有key的集合Set,里面是String对象
for(String key : properties.stringPropertyNames()){
System.out.println("key: " + key);
String value = properties.getProperty(key);
System.out.println("value: " + value);
}
2.通过properties.keySet()获得所有key的集合Set,里面是Object对象
for(Object key : properties.keySet()){
System.out.println("key: " + key);
Object value = properties.get(key);
System.out.println("value: " + value);
}
3.通过properties.entrySet()获得entry
for(Map.Entry<Object,Object> entry : properties.entrySet()){
Object key = entry.getKey();
System.out.println("key: " + key);
Object value = entry.getValue();
System.out.println("value: " + value);
}
4.通过properties.propertyNames()获得所有key的枚举Enumeration
Enumeration e = properties.propertyNames();
while (e.hasMoreElements()){
Object key = e.nextElement();
System.out.println("key: " + key);
Object value = properties.get(key);
System.out.println("value: " + value);
}