• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Java - jak wziąść z listy elementy, których ilość jest najmniejsza?

0 głosów
73 wizyt
pytanie zadane 30 stycznia w Java przez chumanista Bywalec (2,410 p.)
zamknięte 26 marca przez chumanista
Załóżmy, że mamy listę stringów, która wygląda następująco:

("napis1", "napis1", "napis2", "napis3", "napis3", "napis3").

Jak wziąść z niej, których elementów jest najmniej i zwrócić "napis2"?
komentarz zamknięcia: ROZWIĄZANE

2 odpowiedzi

0 głosów
odpowiedź 30 stycznia przez miro Pasjonat (20,730 p.)
wybrane 26 marca przez chumanista
 
Najlepsza

Tak na szybko:
 

        List<String> list = Arrays.asList("napis1", "napis1", "napis2", "napis3", "napis3", "napis3");
        Map<String, Integer> map = new HashMap<>();
        for (String key : list) {
            map.merge(key, 1, (x, y) -> x + y);
        }
        String minKey = "";
        Integer minValue = Integer.MAX_VALUE;
        for (String key : map.keySet()) {
            if (map.get(key) < minValue) {
                minKey = key;
                minValue = map.get(key);
            }
        }
        System.out.println(minKey);

 

+1 głos
odpowiedź 30 stycznia przez mbabane Maniak (70,020 p.)

Wykorzystując api stream na przykład tak:

 List<String> strings = Arrays.asList("napis1", "napis1", "napis2", "napis3", "napis3", "napis3");

 String theLeast = strings.stream()
         .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
         .entrySet()
         .stream()
         .min(Map.Entry.comparingByValue())
         .map(Map.Entry::getKey)
         .orElse(null);
System.out.println(theLeast);

 

Podobne pytania

0 głosów
1 odpowiedź 115 wizyt
pytanie zadane 18 grudnia 2018 w Java przez mn130496 Gaduła (3,080 p.)
0 głosów
0 odpowiedzi 544 wizyt
pytanie zadane 13 stycznia 2018 w Java przez Kasia Nowicjusz (230 p.)
0 głosów
0 odpowiedzi 45 wizyt
pytanie zadane 21 stycznia 2016 w Java przez NTXFN Gaduła (3,480 p.)
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).Opisanie problemu

65,654 zapytań

112,282 odpowiedzi

236,928 komentarzy

46,645 pasjonatów

Przeglądających: 152
Pasjonatów: 1 Gości: 151

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...