Ich werde gebeten, ein Java-Bibliothekmodul zu implementieren, das 1 Methode enthält, die Sammlungen beliebiger Objekte mithilfe einer benutzerdefinierten Filtermethode filtern und den Identitätshashcode des Objekts zurückgeben kann (eindeutiger Hashcode für das generierte Objekt) von der JVM), vorzugsweise unter Verwendung von Java 8-Konstrukten. Wenn mehrere Objekte gefunden werden, sollte das größte zurückgegeben werden. Wenn der Komparator sie nicht eindeutig sortiert, sollte der größte Hash-Code zurückgegeben werden. Die Methode sollte der Signatur folgen, die Sie unten finden können.Java-Sammelfilter-Komparator
public <T> Optional<Integer> getIt(Collection<T> collection, Predicate<T> filter, Comparator<T> comparator)
So, dachte ich zuerst zu filtern, mit:
collection.removeIf(filter.negate());
Aber was ich nicht wird, könnte erhalten, wie Sie das größte beliebige Objekt bekommen?
Jede Hilfe sehr geschätzt wird, dank
1. Es ist ethisch fragwürdig, Hausaufgabenfragen mit tatsächlichem Code zu beantworten. 2. Ihre Stream-Lösung ist beeindruckend, aber wenn das OP dies einleitet, wird sein Professor sofort wissen, dass jemand anderes es für ihn geschrieben hat. –
Dann wieder die Frage sagt "vorzugsweise mit Java 8 Konstrukte", so dass die Streams Lösung könnte was erwartet wird. Aber trotzdem ist die Beantwortung von Hausaufgaben mit Code schlecht. –
@MikeNakis Sieht man sich die Frage nochmal an, scheint das ein wenig zu viel wie Hausaufgabenhilfe zu sein. Auf dem ersten Pass sah es nach einer Arbeitgeberanforderung aus, aber ich vermute, dass ich ein bisschen zu schnell gescannt habe. – gyre