2012-02-04 23 views
1

我有2個CSV文件,每個文件包含50條記錄。現在我必須從這些CSV文件讀取值並執行不同的連接操作(完全外連接,左外連接等)。我該怎麼做呢?在java中實現不使用數據庫的不同類型的連接

+0

你能看到多遠,你可以得到用'中的addAll()','containsAll()','中的retainAll()'和'由'Set'接口提供的removeAll()'方法。 – rsp 2012-02-04 09:44:48

+0

你加入了什麼?一個共同的專欄?多列?還有別的嗎? – Thilo 2012-02-04 09:46:14

+1

這功課嗎?如果是這樣,請標記爲這樣。 – DNA 2012-02-04 09:59:13

回答

3

加載這兩個文件在內存中,使用循環:

private List<TwoRecords> innerJoin(List<Record1> list1, List<Record2> list2) { 
    List<TwoRecords> result = new ArrayList<TwoRecords>(); 
    for (Record1 r1 : list1) { 
     for (Record2 r2 : list2) { 
      if (r1.getSomeField() != null 
       && r1.getSomeField().equals(r2.getSomeField())) { 
       result.add(new TwoRecords(r1, r2)); 
      } 
     } 
    } 
    return result; 
} 
+0

可以給你上面的代碼的描述我不知道任何關於列表的東西,我想在java中的代碼。是java中的上述代碼。 ? – user1078682 2012-02-04 19:58:20

+0

是的,這是Java代碼。請參閱http://docs.oracle.com/javase/tutorial/collections/和http://docs.oracle.com/javase/tutorial/extra/generics/index.html。集合框架是任何Java程序員都必須知道的。 – 2012-02-04 23:29:46

相關問題