Отображение количества повторений элементов массива - PullRequest
0 голосов
/ 02 января 2019

Я новичок в программировании, мне нужен способ узнать количество повторений элементов массива типа string. элементы либо «успех», либо «провал»

String i=JOptionPane.showInputDialog("Array size:");
int k= Integer.parseInt(i); 
String[] result1=new String[k];

вывод должен выглядеть так:

result

success 
fail
success
success
success
fail

fail=2 success=4

Ответы [ 2 ]

0 голосов
/ 02 января 2019

В этом конкретном примере вы можете использовать Streams для фильтрации на основе «success» или «fail».

long successCount = Arrays.stream(result1)
            .filter(s -> s.equals("success"))
            .count();

    long failCount = Arrays.stream(result1)
            .filter(s -> s.equals("fail"))
            .count();

    System.out.println("fail=" + failCount + " success=" + successCount);

Результат:

fail=2 success=4
0 голосов
/ 02 января 2019

Карта - это обычная структура данных для этого, ключом является элемент в массиве, а значением является счетчик количества, которое было просмотрено до сих пор. Подсказка: Карты обычно являются «общими», что означает, что они не будут принимать примитивы, но есть классы-обертки, которые можно использовать вместо этого, например. Целое число.

...