Sagen wir, ich habe eine Map<Date, List<Integer>>
, wo Liste der ganzen Zahlen ist nur eine Liste der Zahlen in Lotterie gezogen. Es kann wie folgt aussehen:So finden Sie das neueste Datum für jede Zahl in der Zeichnung, von Karte <Datum, Liste <Integer>>
Wed Nov 15 13:31:45 EST 2017=[1, 2, 3, 4, 5, 6],
Wed Nov 22 13:31:45 EST 2017=[7, 8, 9, 10, 11, 12],
Wed Nov 29 13:31:45 EST 2017=[13, 14, 15, 16, 17, 18],
Wed Dec 13 13:31:45 EST 2017=[1, 19, 20, 21, 22, 23],
Wed Dec 20 13:31:45 EST 2017=[24, 25, 26, 27, 28, 29]
Ich brauche diese Karte in die Karte zu konvertieren, in dem Schlüssel die Lotterie Zahl ist, und der Wert ist der letzte Zeitpunkt, wenn die Zahl geworfen wurde. Etwas wie: 1 = Mi 13. Dezember 13.31.45 EST 2017 2 = Mi 15. November 13.31.45 EST 2017 usw. bis 49.
Also, die Frage ist: Ist es möglich zu machen, mit den Java 8 Streams und wenn ja, dann wie.
Vielen Dank im Voraus.
Es funktioniert. Vielen Dank. Jetzt muss ich es verstehen.)))) – EasyRider
@EasyRider es könnte viel einfacher zu verstehen, wenn Sie es in eine IDE setzen und sehen, was 'x, y' sind in jedem Schritt ... – Eugene
Sie können den' collect' Schritt zu vereinfachen, indem Sie: 'Collectors .toMap (Map.Entry :: getValue, Map.Entry :: getKey, BinaryOperator. maxBy (Comparator.naturalOrder())) ' –
Flown