Java 映射的HashSet输出
我有Java 映射的HashSet输出,java,Java,我有映射,带有字符串键和哈希集值: Set<String> values = new HashSet<String>(); values.add("values1"); values.add("values2"); Map<String, Set> maps = new HashMap<String, Set>(); maps.put("TestKey", values); 但我得到了: key [values, values] 在此推导出
映射
,带有字符串
键和哈希集
值:
Set<String> values = new HashSet<String>();
values.add("values1");
values.add("values2");
Map<String, Set> maps = new HashMap<String, Set>();
maps.put("TestKey", values);
但我得到了:
key [values, values]
在此推导出元素I,以便:
for(Entry<String, Set> e : maps.entrySet()) {
System.out.println(e.getKey() + " " + e.getValue());
}
for(条目e:maps.entrySet()){
System.out.println(e.getKey()+“”+e.getValue());
}
请帮我修复输出
UPD
如果我想把这些都写在文件里,我该怎么办?在一行中使用相同的格式
此选项不起作用:
FileWriter wr = null;
PrintWriter pw;
try {
wr = new FileWriter(file.getAbsoluteFile(), true);
pw = new PrintWriter(wr);
for(Entry<String, Set<String>> e : my.entrySet()) {
pw.print(e.getKey());
for(String s: e.getValue()) pw.print(" " + s);
pw.println();
}
} catch (IOException e1) {
e1.printStackTrace();
}
FileWriter wr=null;
印刷作家;
试一试{
wr=新的FileWriter(file.getAbsoluteFile(),true);
pw=新的打印机(wr);
对于(条目e:my.entrySet()){
打印(如getKey());
对于(字符串s:e.getValue())pw.print(“+s”);
println();
}
}捕获(IOE1异常){
e1.printStackTrace();
}
我尝试将所有数据以
key values values //in one line
关键值价值观(一行)
这意味着您必须使用此格式
Map<String, Set<String>> maps = ...
for(Entry<String, Set<String>> e : maps.entrySet()) {
System.out.print(e.getKey());
for(String s: e.getValue()) System.out.print(" " + s);
System.out.println();
}
Map映射=。。。
对于(条目e:maps.entrySet()){
System.out.print(e.getKey());
对于(字符串s:e.getValue())System.out.print(“+s”);
System.out.println();
}
为什么不迭代e.getValue()
并按您的喜好打印每个条目?您在正常输出中得到了什么。