如何从 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);
我有一个包含一些数组的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);