PropertiesimplementsMap<Object,Object>,所以你可以迭代Set.iterator()它Map.entrySet(),并调用Iterator.remove()某些条目.
Properties prop = new Properties();
prop.put("k1", "foo");
prop.put("k2", "bar");
prop.put("k3", "foo");
prop.put("k4", "bar");
System.out.println(prop); // prints "{k4=bar, k3=foo, k2=bar, k1=foo}"
Iterator<Map.Entry<Object,Object>> iter = prop.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry<Object,Object> entry = iter.next();
if (entry.getValue().equals("bar")) {
iter.remove();
}
}
System.out.println(prop); // prints "{k3=foo, k1=foo}"
Run Code Online (Sandbox Code Playgroud)
你为什么要打电话的原因remove()上iterator()是因为你不想引起ConcurrentModificationException.
许多初学者经常质疑interfaceJava中的价值:这是一个很好的例子来展示它的强大interface程度.Properties implements Map<Object,Object>,除非另有说明,否则你可以用a做的所有事情Map,你可以做一个Properties.上述问题中的信息与您的情况直接相关并直接适用.
| 归档时间: |
|
| 查看次数: |
1157 次 |
| 最近记录: |