在Java中,我有一个java.util.Properties
对象,我希望获得另一个具有相同对的对象,但是键转换为值,反之亦然。
如果存在冲突(即有两个相等的值),则只需选择任意键作为值。
最简单的方法是什么?
随意使用库,公共集合或其他任何内容。
答案 0 :(得分:6)
答案 1 :(得分:2)
Properties
对象是Hashtable
对象,因此您应该可以执行以下操作:
Hashtable<String, String> reversedProps = new Hashtable<String, String>();
for (String key : props.keySet()) {
reversedProps.put(props.get(key), key);
}
结果:3行代码。
此代码未经测试,但它可以为您提供想法。
答案 2 :(得分:1)
类似的东西:
Properties fowards = new Properties();
fowards.load(new FileInputStream("local.properties"));
Properties backwards = new Properties();
for (String propertyName : fowards.stringPropertyNames())
{
backwards.setProperty(forwards.get(propertyName), propertyName);
}