Задать вопрос
@javanub

Как посчитать дублирующиеся элементы в массиве?

Например, есть массив вида:
char a[] = {'ж', 'ж', 'и', 'к', 'е', 'к', 'п'};

Как посчитать сумму дубликатов, чтобы было так:
ж: 2
к: 2
  • Вопрос задан
  • 18459 просмотров
Подписаться 2 Оценить Комментировать
Решение пользователя FanKiLL К ответам на вопрос (3)
FanKiLL
@FanKiLL
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class Application {

	public static void main(String[] args) {
		Map<Character, Integer> letters = new HashMap<Character, Integer>();

		ArrayList<Character> fakeArray = new ArrayList<Character>();
		fakeArray.add('a');
		fakeArray.add('a');
		fakeArray.add('a');
		fakeArray.add('b');
		fakeArray.add('b');
		fakeArray.add('c');
		fakeArray.add('c');
		fakeArray.add('c');
		fakeArray.add('w');
		fakeArray.add('w');
		fakeArray.add('w');
		fakeArray.add('w');
		fakeArray.add('g');

		for (int i = 0; i < fakeArray.size(); i++) {
			Character tempChar = fakeArray.get(i);

			if (!letters.containsKey(tempChar)) {
				letters.put(tempChar, 1);
			} else {
				letters.put(tempChar, letters.get(tempChar) + 1);
			}
		}

		for (Map.Entry<Character, Integer> entry : letters.entrySet()) {
			System.out.println("Буква = " + entry.getKey() + ", Повторений = " + entry.getValue());
		}

	}
}


И вот что выводит в консоль, когда скрипт отработал.

Буква = w, Повторений = 4
Буква = g, Повторений = 1
Буква = b, Повторений = 2
Буква = c, Повторений = 3
Буква = a, Повторений = 3


Наверно можно лучше, сейчас бошка не варит сорри. Но задачу решает, копайте в эту сторону.
Ответ написан
Комментировать