2016-12-12 5 views
0

私は文字列AとBの2つの配列リストを持っています。 それぞれは表形式のレコードを持っています。arraylistsに格納された文字列の表データを比較し、それらを結合する

arraylistの各エントリは次のようになります。全体の行はエントリです。

文献: "A"、 "B"、 "C"、 "D"、 "E"

文献: "X"、 "B"、 "R"、 "Z"、 "F"

ここで、カンマで区切られた各エントリをtableのフィールドとして考えてみましょう。

フィールド2(最初の行はb)フィールド5に基づいて、私は2つの新しいアライリスト1をすべての一致レコードとすべての不一致レコードの1つを作成しました。

私はJavaに新しいので、毎回データを分割して両方を比較する方法を考えることはできません。助けてください。

UPDATE:arrayList1のarrayList1には文字列が含まれています。各文字列は与えられた例のように見えます。文字列をレコードに分割する必要があります。フィールド2とフィールド5については、私は両方のarraylistに一致する必要があります。 sql joinと同様に、arrayList内で一致するレコードのみを表示し、他のレコードでは一致しないレコードを表示する必要があります。新しい配列では、文字列全体が存在するはずです。

My arraylists Contain = [( "b"、 "c"、 "d"、 "e" ")、(" z "、" v "、" b ")..... .................]ここで文字列を分割すると、最初の行field1 = b、field2 = cなどのようなフィールドが得られます.2つのarraylistsは類似しています。フィールド2およびフィールド5のためのこれら二つの配列リストのために私はマッチと比類のないすべてのレコードを確認する必要があります。フィールドのみのために....全体ではなく、文字列のために。

+0

あなたの説明からあなたが何を持っているかは明確ではありませんしてください。入力と期待される出力を提供する。 –

+0

あなたのソースコードを投稿できますか?今すぐ質問を理解するのが難しい –

+0

arrayList1、arrayList2にはstrings.Eachの文字列が含まれています。文字列をレコードに分割する必要があります。フィールド2とフィールド5については、私は両方のarraylistに一致する必要があります。 sql joinと同様に、配列内で一致するレコードのみを表示し、他の配列とは一致しないレコードを表示する必要があります。新しい配列では、文字列全体が存在するはずです。 –

答えて

0

removeAll()retainAll()


import java.util.ArrayList; 
import java.util.Arrays; 

public class NewClass { 

    public static void main(String[] args) { 
     ArrayList<String> list1 = new ArrayList<String>(); 
     ArrayList<String> list1_copy = new ArrayList<String>(); 
     ArrayList<String> list2 = new ArrayList<String>(); 

     String line1 = "this is a sample line for trial"; 
     String line2 = "this is another sample line for test"; 


     list1.addAll(Arrays.asList(line1.split(" "))); 
     list2.addAll(Arrays.asList(line2.split(" "))); 
     list1_copy = (ArrayList<String>) list1.clone(); 
     System.out.println("Original list1: "+list1); 
     System.out.println("Original list2: "+list2); 

     list1.removeAll(list2); 
     System.out.println("Different items in lists: "+list1); 

     list1_copy.retainAll(list2); 
     System.out.println("Same items in lists: "+list2); 

    } 

} 
をお試しください
+0

比較のために文字列全体をチェックする必要はありません。私は文字列を分割する必要があります。コンマ区切りのフィールドを比較します。 field2とfield5を分離した後、一致させる必要があります。 –

+0

はもっと明確な例を提供します... – Doc

+0

私のarraylists Contain = [( "" b "、" c "、" d "、" e "")、( "z"、c "、" v "、" b ") .....................]ここで文字列を分割すると、最初の行field1 = b、field2 = cなどのフィールドが得られます。2人のarraylistsフィールド2とフィールド5の2人のアーラリストのために、私はすべてのレコードが一致していて一致していないことを知る必要があります。 –

関連する問題