gpt4 book ai didi

java - java比较同一个数组的元素,然后删除该元素

转载 作者:行者123 更新时间:2023-12-02 03:23:38 25 4
gpt4 key购买 nike

我有一个像 a[]={1,2,3,4,3,5} 这样的数组,然后我想将第一个元素与第二个、第三个、第四个等等进行比较......第二个元素与 3,4,3,5...然后 3 与 4,3,5...
我在这里试图实现的是删除重复的元素。

public static void main(String[] args) {

int a[]= {1,2,1,4,5};

for (int i = 0; i < a.length; i++) {
for (int k = i + 1; k < a.length; k++) {
if (a[i] == a[k]) {
// shifting elements
for( k = i; k < a.length-1; k++) {
a[k] = a[k+1];
}
}
}
}

for(int l=0;l<a.length;l++)
System.out.println(a[l]);

}

预期:最后应该删除重复的元素,我的数组将具有 [1,2,3,4,5]

最佳答案

听起来很像您想要“删除重复”这个数组。

有多种方法可以处理这个问题,但我更喜欢的方法是 Streams (使用 StreamEx,一个围绕 Stream 的包装器Java 8+ 中的更详细代码)。

在这里查看其他一些方法:https://www.baeldung.com/java-remove-duplicates-from-list

所以你想要做的事情看起来像这样:

List<Integer> integersWithDupes = Arrays.asList(1, 2, 3, 4, 3, 5);
System.out.println(integersWithDupes.size()); // this is now 6
List<Integer> deduped = StreamEx.of(integersWithDupes).distinct().toList();
System.out.println(deduped.size()); // this is now 5

除非这是作业的硬性要求,否则我会避免使用数组并使用 List 接口(interface)。它包含了您试图以更具表现力和更强大的方式完成的许多功能。

祝你编码愉快!

关于java - java比较同一个数组的元素,然后删除该元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56916430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com