用java合并两个数据集

用java合并两个数据集,java,dataset,Java,Dataset,我到处寻找可能的解决办法,但什么也找不到,结果卡住了 问题是: 我有两个包含数据的文件,当我将它们读入Java时,我将它们存储在两个单独的数组中。这些数组如下所示:(它们由前面指定的分隔符分隔) 最后,所有内容都应该写入一个名为combined的文件 有人知道什么类可以用来做这件事吗?是否已有可以处理此类合并的类?您可以使用集合来存储数据,而不是数组。在这种情况下,您的任务将得到简单的解决: Collection<Map<String, String>> data1 =

我到处寻找可能的解决办法,但什么也找不到,结果卡住了

问题是:

我有两个包含数据的文件,当我将它们读入Java时,我将它们存储在两个单独的数组中。这些数组如下所示:(它们由前面指定的分隔符分隔)

最后,所有内容都应该写入一个名为combined的文件

有人知道什么类可以用来做这件事吗?是否已有可以处理此类合并的类?

您可以使用集合来存储数据,而不是数组。在这种情况下,您的任务将得到简单的解决:

Collection<Map<String, String>> data1 = loadData("source1.dat");
Collection<Map<String, String>> data2 = loadData("source2.dat");
Collection<Map<String, String>> merged = new ArrayList<>();

merged.addAll(data1);
merged.addAll(data2);

Set<String> headers = new LinkedHashSet<>();

for (Map<String, String> map : merged) {
    headers.addAll(map.keySet());
}
Collection data1=loadData(“source1.dat”);
收集数据2=加载数据(“source2.dat”);
集合合并=新的ArrayList();
合并后的.addAll(数据1);
合并后的.addAll(数据2);
Set headers=new LinkedHashSet();
用于(地图:合并){
headers.addAll(map.keySet());
}

可能重复:@guido看起来更像是在问用什么来进行合并,而不是如何合并。@ChrOertlin我不明白你对标题列的看法。这些是2D数组吗?@RockOnRockOut数组来自文件读取功能:我逐行读取文件,并将行存储在数组中。因此,每个数组元素都是数据文件中一行的表示。因此,它们只有数组[]维度,而不是数组[]维度
Shared header    not shared header
a                a
a                a
a                a
a                a
b                null
b                null
b                null
Collection<Map<String, String>> data1 = loadData("source1.dat");
Collection<Map<String, String>> data2 = loadData("source2.dat");
Collection<Map<String, String>> merged = new ArrayList<>();

merged.addAll(data1);
merged.addAll(data2);

Set<String> headers = new LinkedHashSet<>();

for (Map<String, String> map : merged) {
    headers.addAll(map.keySet());
}