首页 > 解决方案 > 消除数组中的重复项

问题描述

(消除重复)编写一个方法,通过使用以下方法头消除数组中的重复值来返回一个新数组:

public static int[] eliminateDuplicates(int[] list)

编写一个测试程序,读取 10 个整数,调用该方法,并显示由一个空格分隔的不同数字。这是程序的示例运行: 输入 10 个数字:1 2 3 2 1 6 3 4 5 2 不同的数字是:1 2 3 6 4 5

package bucky;

import java.util.Scanner;

public class Arrays {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        System.out.print("Enter ten numbers: ");

        int[] list = new int[10];

        for (int i = 0; i < list.length; i++) {
            list[i] = in.nextInt();
        }
        eliminateDuplicates(list);

        System.out.print("The distinct numbers are: ");
        for (int i = 0; i < list.length; i++) {
            System.out.print(list[i]);
        }
    }

    public static int[] eliminateDuplicates(int[] list) {

        int count = 0;
        int j = 0;
        int[] nArray = new int[list.length];
        while (j < list.length) {
            for (int i = 1; i < list.length; i++) {
                int low = list[j];
                if (list[i] == low) {
                    count++;
                } else {
                    nArray[i] = low;
                }
            }
            j++;
        }
        return nArray;
    }
}

标签: java

解决方案


数组可以简单地转换为自动消除重复的 HashSet。

设置 list2 = Arrays.stream(list).boxed().collect(Collectors.toSet()); System.out.print("不同的数字是:" + list2);


推荐阅读