在这篇文章中,我们将写一个Java程序来删除数组中重复的整数元素。
我们有很多方法可以编写逻辑来删除数组中重复的整数元素。
###使用临时数组
要从一个数组中删除重复的元素,数组必须是按排序的顺序排列。如果一个数组没有被排序,你可以通过调用Arrays.sort(arr)
方法进行排序。
import java.util.Arrays;
public class DuplicateFromArray {
public static void main(final String[] args) {
final int[] a = { 10, 20, 30, 40, 50, 50, 10, 20 };
Arrays.sort(a);// sorting array
removeDuplicate(a);
}
private static void removeDuplicate(final int[] a) {
final int[] temp = new int[a.length];
int j = 0;
for (int i = 0; i < a.length - 1; i++) {
if (a[i] != a[i + 1]) {
temp[j++] = a[i];
}
}
temp[j++] = a[a.length - 1];
for (int i = 0; i < j; i++) {
a[i] = temp[i];
}
for (int i = 0; i < j; i++) {
System.out.println(temp[i]);
}
}
}
输出:
10
20
30
40
50
让我们使用HashSet提供的add()
方法来删除数组中的重复部分。如果这个集合没有包含指定的元素,add()
方法返回true。
import java.util.HashSet;
import java.util.Set;
public class DuplicateFromArray {
public static void main(final String[] args) {
final Integer[] a = {10,20,30,40,50,50,10,20};
removeDuplicates(a);
}
private static void removeDuplicates(final Integer[] a){
final Set<Integer> set = new HashSet<Integer>();
final Integer[] temp = new Integer[a.length];
int j = 0;
for (final Integer element : a) {
if(set.add(element)){
temp[j++] = element;
}
}
// display temp array
for (int i = 0; i < j; i++) {
System.out.println(temp[i]);
}
}
}
输出:
10
20
30
40
50
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.javaguides.net/2018/08/java-program-to-remove-duplicate.html
内容来源于网络,如有侵权,请联系作者删除!