繁体   English   中英

如何在单独的行中打印每个地图条目的地图列表

[英]How to print a list of maps with each map entry in a seperate line

我要打印一个数组列表,在该数组列表中它包含哈希映射,并且在文本文件中打印。 尝试打印文本文件时,它以单行打印。 我需要在单独的行中使用示例:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM