Java将两个数组合并为一个数组并排序去重

引言

在Java开发中,有时候我们需要将两个数组合并成一个数组,并对其进行排序和去重处理。本文将介绍如何实现这一功能,并给出详细的步骤和代码示例。

流程图

flowchart TD
    A[开始] --> B[声明和初始化数组arr1]
    B --> C[声明和初始化数组arr2]
    C --> D[合并数组arr1和arr2]
    D --> E[数组排序]
    E --> F[去重]
    F --> G[输出结果]
    G --> H[结束]

步骤说明

  1. 声明和初始化数组arr1:首先,我们需要声明一个整型数组arr1,并为其赋值。例如,我们可以将arr1初始化为[1, 3, 5, 7, 9]。
int[] arr1 = {1, 3, 5, 7, 9};
  1. 声明和初始化数组arr2:接下来,我们需要声明另一个整型数组arr2,并为其赋值。例如,我们可以将arr2初始化为[2, 4, 6, 8, 10]。
int[] arr2 = {2, 4, 6, 8, 10};
  1. 合并数组arr1和arr2:我们可以使用System.arraycopy()方法将数组arr2中的元素复制到arr1的末尾,从而实现数组的合并。
int[] result = new int[arr1.length + arr2.length];
System.arraycopy(arr1, 0, result, 0, arr1.length);
System.arraycopy(arr2, 0, result, arr1.length, arr2.length);
  1. 数组排序:我们可以使用Arrays.sort()方法对合并后的数组result进行排序。
Arrays.sort(result);
  1. 去重:为了去除合并后数组中的重复元素,我们可以使用LinkedHashSet数据结构。LinkedHashSet是一个按插入顺序排序的Set集合,它不允许重复元素。
Set<Integer> set = new LinkedHashSet<>();
for (int num : result) {
    set.add(num);
}
  1. 输出结果:最后,我们可以使用增强for循环遍历去重后的集合,并输出每个元素。
for (int num : set) {
    System.out.print(num + " ");
}

完整代码示例

import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Set;

public class MergeArrays {
    public static void main(String[] args) {
        // 声明和初始化数组arr1
        int[] arr1 = {1, 3, 5, 7, 9};

        // 声明和初始化数组arr2
        int[] arr2 = {2, 4, 6, 8, 10};

        // 合并数组arr1和arr2
        int[] result = new int[arr1.length + arr2.length];
        System.arraycopy(arr1, 0, result, 0, arr1.length);
        System.arraycopy(arr2, 0, result, arr1.length, arr2.length);

        // 数组排序
        Arrays.sort(result);

        // 去重
        Set<Integer> set = new LinkedHashSet<>();
        for (int num : result) {
            set.add(num);
        }

        // 输出结果
        for (int num : set) {
            System.out.print(num + " ");
        }
    }
}

总结

本文介绍了如何使用Java实现将两个数组合并为一个数组,并对其进行排序和去重处理。我们通过声明和初始化两个数组,使用System.arraycopy()方法将数组合并,然后使用Arrays.sort()方法对合并后的数组排序,最后使用LinkedHashSet数据结构进行去重,并通过增强for循环输出去重后的结果。希望本文对你理解和掌握该功能有所帮助!