如何从 Java 中的数组列表打印数组的出现次数?

How can I print number of occurences of an array from an array list in Java?

我有一个包含一些数组的arraylist,我想打印出arraylist,如果arraylist中的一个数组重复,那么只打印一次,并在它旁边出现多次。 (假设所有数组都是从小到大排序的)

这是我当前的代码:

public static void main(String[] args) {
        int[] a1 = {1,2,3,4,5};
        int[] a2 = {1,2,3,4,5};
        int[] a3 = {1,2,3,4,5};

        int[] a4 = {2,5,7,8,9};
        int[] a5 = {2,5,7,8,9};

        int[] a6 = {3,4,6,8,9};

        ArrayList<int[]> list = new ArrayList<>();

        list.add(a1);
        list.add(a2);
        list.add(a3);
        list.add(a4);
        list.add(a5);
        list.add(a6);

        for (int i = 0; i < list.size(); i++) {
            System.out.println(Arrays.toString(list.get(i)));
        }
    }

这是我想要的输出:

1,2,3,4,5 (3)
2,5,7,8,9 (2)
3,4,6,8,9

(如果唯一则不需要出现次数)

非常感谢您的帮助!

List<Integer>代替int[],因为List的equals()(和hashCode())方法可以起到很好的效果

假设:

List<List<Integer>> list = new ArrayList<>();
list.add(List.of(1,2,3,4,5));
// etc

那就是单行:

list.stream().distinct().forEach(System.out::println);