Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen?

Diskutiere Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? im Java Basics - Anfänger-Themen Bereich.
L

LimDul

Am einfachsten Array sortieren und dann benachbarte Werte vergleichen.
 
mihe7

mihe7

Oder z. B.
Java:
Stream.of(array).distinct().count() != array.length
 
Ullenboom

Ullenboom

@mihe7 Ich setz da noch einen drauf mit short-circuiting: https://stackoverflow.com/a/35233967/4105457

Java:
public static boolean hasUniqueItems(int[] arr) {
    Objects.requireNonNull(arr);
    Set<Integer> seen = new HashSet<>();
    return IntStream.range(0, arr.length)
            .mapToObj(i -> arr[i])
            .allMatch(seen::add);
}
Clevere Idee mit der boolean-Rückgabe von add(...), einziger Nachteil wären die ganzen Wrapper-Objekte (außerhalb von -128 bis +127).
 
Thema: 

Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen?

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben