我是java的新手,正在尝试弄清楚如何将几个树图组合到一个表中。
我有一个java程序,它读取一个文本文件,并创建一个树形图,索引文件中的单词。输出将单个单词作为关键字,并将其显示在页面列表中作为值。示例如下所示:
a 1:4:7
b 1:7
d 2现在,我的程序当前为几个文本文件创建了一个线程,并为每个文件创建了Treemaps。我想将这些树状图合并到一个输出中。假设我们有第二个文本文件,看起来像这样:
a 1:2:4
b 3
c 7我尝试创建的最终输出是一个csv表,如下所示:
key,file1,file2
a,1:4:7,1:2:4
b,1:7,3
c,,7
d,2,有没有像这样组合地图的方法?我主要是一个sql开发人员,所以我的想法是将每个映射连同文件名一起打印到一个txt文件中,然后根据文件名旋转这个列表。不过,这看起来不像是一种非常像java的解决问题的方法。
发布于 2017-02-12 02:45:26
我认为您需要手动完成此操作。
我没有编译我的解决方案,它也没有写入csv文件,但它应该会给你提示:
public void writeCsv(List<MyTreeMap> list) {
Set<String> ids = new TreeSet<String>();
// ids will store all unique key in your example: a,b,c,d
for(MyTreeMap m:list) {
for(String id:m.keySet()) {
ids.insert(id);
}
}
// iterate ids [a,b,c,d]
for(String id:ids) {
StringBuffer line = new StringBuffer();
line.append(id);
for(MyTreeMap m:list) {
String pages = m.get(id);
// pages will contains "1:4:7" like your example.
line.append(",");
line.append(pages);
}
System.out.println(line);
}
}https://stackoverflow.com/questions/42179643
复制相似问题