2016-07-01 14 views
-1

Ich googelte einige SO Beispiele, aber sie nur Java 1.7. Ich möchte es mit den Funktionen von Version 8 implementieren. Gibt es eine Art Best Practice oder sogar eine Methode, dies zu tun? Ich konnte kein Geld verdienen. Soweit für zwei Sammlungen angegeben (var Namen 'first' und 'second') kann ich nur an etw. Denken. wie folgt:Vergleichen Sie zwei Sammlungen für die gleichen (gleiche Einträge, gleiche Reihenfolge) mit Stream-API, Lambdas usw. in Java

first.forEach(first -> first.equals(second)); 

Irgendwelche Vorschläge?

UPDATE Die beiden Arten von Sammlungen, die ich vergleichen möchte, sind Set und Collection.

+2

'first.equals (zweiten)'? Was sind Ihre spezifischen Sammlungen? – Tunaki

+0

Können Sie uns Beispiele von Sammlungen zeigen, die Sie vergleichen möchten? – explv

+1

Was ist "Sammlung selbst"? – Holger

Antwort

1

Wie Sie beide vergleichen wollen, wenn die Werte und um die gleichen sind nur .equals() verwenden Sie können:

List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5); 
List<Integer> list2 = Arrays.asList(1, 2, 3, 4, 5); 
List<Integer> list3 = Arrays.asList(2, 1, 3, 4, 5); 

System.out.println(list1.equals(list2)); 
System.out.println(list1.equals(list3)); 

Ausgang:

true 
false 
+1

Das Problem tritt auf, wenn Sie eine 'List' und ein' Set' haben. Das wirft die Frage auf, was "gleiche Ordnung" in diesem Fall offensichtlich bedeutet. Das OP muss Anforderungen ausarbeiten. –

+0

@BoristheSpider das ist wahr, ich werde meine Antwort anpassen, wenn seine Anforderungen klarer werden. – explv