我有以下格式的HashMap。
HashMap<String, List<String>> map
我正在努力寻找将此写入属性文件的最佳方法,这可能吗?我对HashMap<String, String> hashmap
没有问题,但当值为List时,我无法找出存储它的最佳方法。我不在乎它是以xml格式还是任何其他格式,只是这样我就可以轻松打开文件并将其序列化,或者将其反馈到hashmap中。
感谢任何方向
答案 0 :(得分:4)
首先,您可能需要考虑使用Guava中的ListMultimap
。它实现了Map<Key, List<Value>>
。
接下来,我将设置一个XML Schema,其中每个元素都有一个名称和一个值列表。使用JAXB将数据编组到文件中。
答案 1 :(得分:1)
我不确定你目前在做什么,但你总是可以得到一组组成地图的Map.Entry<String,List<String>>
个实例,并以任何你想要的方式写出来。请参阅this。
psuedo代码看起来像
for (Map.Entry<String,List<String>> entry : map.entrySet()) {
String key = entry.getKey();
List<String> value = entry.getValue();
// now loop over value, which will be of type List<String>
}
答案 2 :(得分:0)
HashMap是Serializable;所以你可以默认这样做。
FileOutputStream fileStream = new FileOutputStream("map.map");
ObjectOutputStream os = new ObjectOutputStream(fileStream);
os.writeObject(map);
os.close();