Gibt es eine Möglichkeit, gemeinsame Elemente in mehreren Listen zu finden?

8

Ich habe eine Liste von Integer-Arrays. Ich muss die gemeinsamen Elemente zwischen diesen finden. Was ich mir vorstellen kann, ist eine Erweiterung dessen, was in Gemeinsame Elemente in zwei Listen

%Vor%

Es gibt auch keine Duplikate in den Arrays.

Gibt es einen direkten Weg, dies zu tun?

    
ravindrab 03.03.2013, 08:44
quelle

5 Antworten

14

Sie können die Listen in Sätze umwandeln und dann die Set.retainAll -Methode für die Schnittmenge zwischen den verschiedenen Mengen verwenden. Sobald Sie alle Mengen geschnitten haben, bleiben die gemeinsamen Elemente übrig, und Sie können die resultierende Menge in eine Liste zurückverwandeln.

    
Amir Kost 03.03.2013, 09:54
quelle
9

Sie können die Schnittmethode von Set verwenden, die von Guava angeboten wird. Hier ein kleines Beispiel:

%Vor%

Hoffe das könnte dir helfen

    
Oussama Zoghlami 05.03.2013 11:07
quelle
4

Wir können retainAll verwenden. Methode der Sammlungen . Ich habe meine commons -Arraylist mit der ersten Array-Liste initialisiert und diese für jede verbleibende Arraylist aufgerufen.

%Vor%     
Han Tuzun 01.10.2014 14:21
quelle
1

Wenn Sie nach einer Funktion suchen, die Elemente zurückgibt, die in allen Listen vorhanden sind,

dann die geradlinige & amp; Einfacher Weg ist das Erstellen einer Statistik {& lt; Mitglied, Vorkommen & gt; }

Die Bedingung hier ist keine Duplikate in der gleichen Liste,

%Vor%     
Khaled.K 03.03.2013 09:16
quelle
0
%Vor%     
ArunKR 27.06.2014 09:26
quelle

Tags und Links