現在、エレメントに基づいて配列をグループ化するコードで作業しています。私はあなたの知恵で私を助けてくれることを願っています。グループに基づいたグループのグループ
私は、次の配列を与えている:
List<String> list1 = new ArrayList<String>(Arrays.asList("A", "B", "C", "F", "I"));
List<String> list2 = new ArrayList<String>(Arrays.asList("B", "C", "D", "E", "F"));
List<String> list3 = new ArrayList<String>(Arrays.asList("J", "K", "B", "L", "F"));
List<String> list4 = new ArrayList<String>(Arrays.asList("L", "K", "D", "C", "J"));
今私は、共通の3つの要素を持っているし、新しいリスト/アレイでLISTNAMESことを保存し、これらのリストのどの比較したいです。
commonList1{List2, List3,} - (B,C,F)
commonList4{List5} - (K,J,L)
は、代わりにすべてのリストを走るのそれを行うための誰よりスマートなアイデアを持っている他に、それぞれを比較し、同じ交差点を持っているどのように多くのリストを検索しますか?
お祈り申し上げます トム
'set'を使って優秀 – notyou
少なくとも単純な' Set'実装はもっと速くなります。したがって、それぞれを独自の集合に集め、次に配列のように集合交差を計算します。利点は、 'Set'は' O(1) '(fast)で' contains 'に答えることができます(少なくとも平均的に)。 – Zabuza
IMHOこれの複製:https://stackoverflow.com/a/36110216/1828296 – lospejos