Hirdetés

Új hozzászólás Aktív témák

  • Szmeby
    tag

    Szokás enterprise körökben túltolni a legegyszerűbb dolgokat is. Ha reduce helyett egy collectort használtál volna, no meg persze factory-kat, akkor lehetne kelteni kisebbfajta pánikot a juniorok között :)

    Amúgy az első kérdésére csak egy reduce nem fog megoldást adni, vagy két streamet használsz, vagy egy collectorral párban gyűjtöd a min/max értékeket. De akkor meg minek...

    Amúgy szerintem nincsen különösebb baj a streamekkel, amíg olvashatóan és ésszerűen van szervezve. A hármas operátort sokan nem szeretik, mert rontja az olvashatóságot. Én egyedül azt a gányolást utálom, amikor mindent be akarnak szuszakolni egy sorba. Na meg az enterprisify kódot

    Oh, az első kérdést nem olvastam, az már tényleg nem lenne egyszerű. :)

    Ilyesmire gondoltál? :D Persze ha a pánikkeltés a cél, akkor biztosan cifrázható tovább. :D
    String[] arrayOfStrings = { "alma", "körte", "banán", "cseresznye", "áfonya" };
    String longest = Arrays.stream(arrayOfStrings)
    .collect(Collectors.maxBy(Comparator.comparing(String::length)))
    .orElse(null);

    (a kedvedért több sorba törtem :P )

    A reduce nekem valamiért testhezállóbb volt, talán azért is, mert ritkán használok spéci collectorokat. Hirtelen nem is tudnám most rövidebben leírni collectorral, és ezt már én is túlzásnak érzem. Ízlés dolga. A for ciklus a tuti, azt mindenki érti és villámgyors.

Új hozzászólás Aktív témák