私は2つのList<Object[]>
を持っています。その中の値を比較し、一意の値で最終的なリストを作成する必要があります。2つのリストを比較してください<Object[]> Javaで効率的に
例:
List<Object[]> list1 has n rows of object list with 5 columns
[[val1,val2,val3,val4,val5],[val1_,val2_,val3_,val4_,val5_]]
List<Object[]> list2 has n rows of Object list with 4 columns
[[val3_,val4_,val5_,val6_],[val2,val3,val4,val5]]
list1
でObject
配列の要素の5列目に第二の組成物はlist2
でObject
配列の要素と一致する可能性があります。それらの列がすべて一致すると、それは新しいList
で繰り返されるべきではありません。または、新しいリストを使用する代わりに、list1
自体の内容を更新することができます。 list2
にはlist1
がないユニークなものがある場合は、それをリストに追加します。残念ながら、私のプログラムの出力はList<Object[]>
にしかなりません。誰かがこの比較を効率的に行う方法を教えてください。
これまでに何を書いていますか?あなたはまた、 'n'行を言うが、' n'の最大数は何ですか?あなたはあらかじめ最適化されているかもしれません...比較に努力してベンチマークを行い、必要があれば改善が必要な箇所を見てください。 –
あなたは値のユニークな組み合わせが欲しいと言っていますか?もしそうなら、たぶんHashSetにそれらを追加し、HashSetでArrayListを構築することができます。これは、(私が質問を理解すれば)一意の値セットを与えるでしょう。オブジェクトは何ですか? – markg
@markg、java配列はequalsを実装していないため、HashSetは機能しません。 –