[英]Merge two datasets java
我到處都在尋找可能的解決方案,但是我什么也找不到,被卡住了。
問題:
我有兩個包含數據的文件,當我將它們讀入Java時,我將它們存儲在兩個單獨的數組中。 這些數組如下所示:(它們由前面指定的定界符分隔)
[ID pval logFC ... ... ...,
S145 0.02 2 ... ... ...,
S252 0.01 4 ... ... ...,
... ... ... ... ... ...]
[ID pval logFC ... ... ...,
S145 0.02 2 ... ... ...,
S252 0.01 4 ... ... ...,
... ... ... ... ... ...]
... <--- can be anything
因此,它們不必具有相同的標題列。 我想做的是將這兩個數組合並到一個文件中,共享頭相互堆疊,不添加共享頭,但為另一個填充空值。
Shared header not shared header
a a
a a
a a
a a
b null
b null
b null
最后,所有內容都應寫入一個稱為“組合”的文件中。
有誰知道可以使用什么類來做到這一點? 是否已經存在可以處理這種合並的類?
您可以使用Collection <Map <String,String >>來存儲數據而不是數組。 在這種情況下,您的任務將輕松完成:
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());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.