加载/保存HashMap <string,string =“”>,HashSet <string>

时间:2016-06-03 08:11:35

标签: java bukkit

我想知道如何在同一个文件/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的方法......注意:下面的例子仅用于显示它。

1 个答案:

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

我希望它适合你:)