【发布时间】:2019-08-13 15:52:22
【问题描述】:
我是这里的新手。我想打印出数组中的重复元素。
此代码将打印出重复的元素。
假设我正在使用元素为 5 的数组 [1,2,5,5,5]
此代码将打印:
Duplicate elements: 5,5,5 //(since 5 is being repeated thrice.)
但我想要这样的输出
Duplicate Elements: 5 //( instead of printing 5 thrice)
import java.util.*;
import java.util.Scanner;
public class duplicateArray{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
System.out.print("Enter the size of the array: ");
int x =sc.nextInt();
int arr[]=new int[x];
int i,count=0;
for(i=0;i<x;i++){
arr[i]=sc.nextInt();
}
System.out.print("Array: ");
for(i=0;i<x;i++){
System.out.print(arr[i]+" ");
}
System.out.println(" ");
System.out.print("Duplicate elements: ");
for(i=0;i<arr.length;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]==arr[j]){
System.out.print(arr[j]+" ");
}
}
}
}
}
【问题讨论】:
-
创建一个单独的
List<Integer>以存储找到的任何重复项。也就是说,除了使用List的.contains()方法之外,您还可以确保每个int 只创建一个条目。 -
使用 TreeMap 而不是 HashMap。 ;) 或者,使用 HashSet 代替,虽然 由 HashMap 支持,但它不是 HashMap。