如何打印地图列表,每个地图条目都在一行中



我想打印一个数组列表,在该数组列表中它包含哈希映射,我打印在一个文本文件中。在尝试打印文本文件时,它以单行形式打印。我需要单独排队示例:

ArrayList<Object> mainlist= new ArrayList<>();
LinkedHashMap<String, String> hmap = new LinkedHashMap<>();
for (int i=0;i<5;i++) 
{   
hmap.put("key1", "03-08-2018");
hmap.put("key2", "xyz";
hmap.put("key3", "123");
//ArrayList USed:::
mainlist.add(hmap);
mainlist.add("n");
}
return mainlist;

我以文本文件的形式返回。它只生成一行,但我的输出文本文件中需要单独的行。

文本文件中的预期输出:

[{key1=03-08-2018,key2=xyz,key3=123}
{key1=03-08-2018,key2=xyz,key3=123}
{key1=03-08-2018,key2=xyz,key3=123}
]

文本文件中的实际输出:

[{key1=03-08-2018,key2=xyz,key3=123},{key1=03-08-2018,key2=xyz,key3=123},{key1=03-08-2018,key2=xyz,key3=123}]

有人能帮我摆脱困境吗
感谢您的回复

我测试了你的代码,它对我来说很有效。你是如何将它写入文件的?

我是这样做的:

Path path = Paths.get("/test/outputXXXX.txt");
ArrayList<Object> mainlist= new ArrayList<>();
LinkedHashMap<String, String> hmap = new LinkedHashMap<>();
for (int i=0;i<5;i++)
{
hmap.put("key1", "03-08-2018");
hmap.put("key2", "xyz");
hmap.put("key3", "123");
//ArrayList USed:::
mainlist.add(hmap);
mainlist.add("n");
}
try (BufferedWriter writer = Files.newBufferedWriter(path))
{
writer.write(mainlist.toString());
}

文件中的输出:

[{key1=03-08-2018, key2=xyz, key3=123}, 
, {key1=03-08-2018, key2=xyz, key3=123}, 
, {key1=03-08-2018, key2=xyz, key3=123}, 
, {key1=03-08-2018, key2=xyz, key3=123}, 
, {key1=03-08-2018, key2=xyz, key3=123}, 
]

编辑:对不起,我看不出你需要没有逗号的。

你可以这样做:

Path path = Paths.get("/test/outputXXXX.txt");
ArrayList<Object> mainlist= new ArrayList<>();
LinkedHashMap<String, String> hmap = new LinkedHashMap<>();
for (int i=0;i<5;i++)
{
hmap.put("key1", "03-08-2018");
hmap.put("key2", "xyz");
hmap.put("key3", "123");
//ArrayList USed:::
mainlist.add(hmap);
mainlist.add("n");
}
try (BufferedWriter writer = Files.newBufferedWriter(path))
{
writer.write("[");
for (Object o : mainlist) {
writer.write(o.toString());
}
writer.write("]");
}
ArrayList<Object> mainlist= new ArrayList<>();
LinkedHashMap<String, String> hmap = new LinkedHashMap<>();
for (int i=0;i<5;i++) 
{  
hmap.put("key1", "03-08-2018");
hmap.put("key2", "xyz"); //you missed closing paranthesis here
hmap.put("key3", "123");
//ArrayList USed:::
mainlist.add(hmap);
mainlist.add("n");
}
return mainlist;

您可以在中尝试以下代码:https://www.tutorialspoint.com/compile_java_online.php

import java.util.*;
public class ArrayListExample{
public static void main(String args[]){
ArrayList<Object> mainlist= new ArrayList<>();
LinkedHashMap<String, String> hmap = new LinkedHashMap<>();
int i=0;
for (i=0;i<5;i++) {  
hmap.put("key1", "03-08-2018");
hmap.put("key2", "xyz");
hmap.put("key3", "123");
//ArrayList USed:::
mainlist.add(hmap);
mainlist.add("n");
}
System.out.println(mainlist);  
return;
}
}

这给出了您的预期输出。希望这对你有帮助。谢谢

最新更新