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

    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


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