加载/保存 HashMap<String, String> , HashSet<String>

Loading / Saving HashMap<String, String> , HashSet<String>

我想知道如何在同一文件 /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 ...注意:下面的示例只是为了展示它。

我写了两个方法给你:

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;
}

希望对你有用:)