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

Привет, я пытаюсь пройти через двумерный массив (в частности, массив 4х4), и оба находят повторяющиеся числа, а затем подсчитывают количество повторений числа. Пока у меня есть 4 для петель, которыеРабота однако делай больше, чем я действительно хочу.

int counter1 =1;
    String huh="";

    for (int x = 0; x< dataTable.length; x++)
    {
        for (int y=0; y< dataTable.length; y++)
        {
            for (int z = 0; z< dataTable.length; z++)
            {
                for (int a=0; a< dataTable.length; a++)
                {
                    if ( x != z && x !=a && y != z && y !=a)
                    {
                        if (dataTable[x][y] == dataTable[z][a])
                        {
                        counter1++;
                        }
                    }   
                }
            }
        if (counter1 > 1)
        {
        huh += ("\n " + dataTable[x][y] + " repeats " + counter1 + " times!");
        }
        counter1=1;
        }
    }

В основном это работает в том смысле, что оно сравнивает каждое число в моем массиве с любым другим числом, включая самого себя (но оператор if не позволяет ему считать себя). В основном мне нужен вывод, чтобы заявить что-то простое, как

The number 3 repeats 3 times

Однако с учетом того, как работает моя установка, он будет добавлять к строке один и тот же оператор каждый раз, когда сравнивает число 3 в каждом из своих мест в моем массиве. Так правильный ли мой метод вообще и требует лишь доработки? или это совсем не так и мне нужно что-то совершенно другое? Я только в классе программирования для начинающих в моем колледже, поэтому мы знаем только основы Java, такие как массивы, циклы и некоторые другие вещи.

Ответы на вопрос(4)

Ваш ответ на вопрос