我想知道如何在同一个文件/data.yml或/data.txt中实际保存和加载以下HashMap和HashSet,而不会相互覆盖。
HashMap<String, String> teamByPlayer = new HashMap<String, String>();
HashSet<String> teamNames = new HashSet<String>();
HashSet<String> playersThatHaveDoneThis = new HashSet<String>();
String name = player.getName();
if (playersThatHaveDoneThis.contains(name)) {
//do stuff
} else {
// do stuff
playersThatHaveDoneThis.add(name);
}
这是我尝试过的:
for (String str : plugin.getConfig().getKeys(true)) {
int p = plugin.getConfig().getInt(str);
points.put(str, p);
}
plugin.saveConfig();
我想知道一种保存所有HashMap和HashSet的方法......注意:下面的例子仅用于显示它。
答案 0 :(得分:0)
我为你写了两种方法:
public static String convertHashMapToString(HashMap<String, String> h){
String value = "";
for(String s : h.keySet()){
value += s + ":" + h.get(s) + ";";
}
return value;
}
public static HashMap<String, String> loadHashMapFromString(String saved){
HashMap<String, String> value = new HashMap<String, String>();
for(String s : saved.split(";")){
value.put(s.split(":")[0], s.split(":")[1]);
}
return value;
}
我希望它适合你:)