java 数组排序方法(以及数组排序并去重)

首页常识java 数组排序方法更新时间:2022-12-09 03:49:25

还有其他的方法,这里我列出最简单的方法来实现。

1、Java合并两个数组

第一种:

public static void main(String[] args) { int[] a = new int[]{58, 64, 21, 0, 89, 31, 26}; int[] b = new int[]{6, 7, 8}; int[] c = new int[a.length b.length]; int i; for (i = 0; i < a.length; i ) { c[i] = a[i]; } for (int j = 0; j < b.length; j ) { c[i j] = b[j]; } // 输出合并后的数组 System.out.println(Arrays.toString(c)); }

输出结果:

第二种:

public static void main(String[] args) { // 两个待合并数组 int array1[] = {20,10,50,40,30}; int array2[] = {1,2,3}; // 动态初始化数组,设置数组的长度是array1和array2长度之和 int array[] = new int[array1.length array2.length]; // 循环添加数组内容 for (int i = 0; i < array.length; i ) { if (i < array1.length) { array[i] = array1[i]; } else { array[i] = array2[i - array1.length]; } } System.out.println("合并后:"); for (int element : array) { System.out.printf("%d ", element); } }

输出结果:

2、Java数组排序并去重

public static void main(String[] args) { /* 思路: 1.hashset去重 2.转成treeset排序 3.转成Integer数组 4.转成int数组 5.输出 */ Integer[] array = {1, 3, 4, 3, 2, 5, 6, 3, 9, 22}; //去重 HashSet<Integer> hashset = new HashSet<>(); for (int i = 0; i < array.length; i ) { hashset.add(array[i]); } //转成TreeSet排序 TreeSet<Integer> treeSet = new TreeSet<>(hashset); //转成integer数组 Integer[] integers = treeSet.toArray(new Integer[]{}); int[] ints = new int[integers.length]; //foreach仅可用于遍历输出数组,但不能用于修改数组。 for (int i = 0; i < integers.length; i ) { ints[i] = integers[i].intValue(); } // 使用JDK1.8新特性输出 Arrays.stream(ints).forEach(System.out::println); }

输出结果:

,
推荐内容
热门内容