gpt4 book ai didi

java - 两个排序数组之间的区别

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:47:47 24 4
gpt4 key购买 nike

我正在尝试创建一种能够打印两组数字之间差异的方法

在这种情况下,我想求差 (h1 - h2),或者换句话说,打印数组 h1 中不在 h2 中的所有元素。

到目前为止,这是我想出的,只有当第一组 h1 的数字小于第二组 h2 的数字时它才有效,但我想让它在任何给定的集合下都有效。

如果您有任何想法,我会非常感激,谢谢 ¡

private void metodoDifference(int[] h1, int[] h2, int m, int n) {
int i = 0, j = 0;
ArrayList<Integer> arrayDifference = new ArrayList<>();
while (i < m && j < n) {

if(h1[i] < h2[j]) {
arrayDifference .add(h1[j++]);
i++;}
else if (h2[j] < h1[i]){
arrayDifference .add(h1[j++]);
}
else {
i++;
j++;
}
}
differenceText.setText(arrayDifference .toString());
}

最佳答案

您似乎不需要 mn。我会用 ArrayList.removeAll(Collection) .然后,假设您使用的是 Java 8+,您可以一步收集并装箱您的 int[](s)。喜欢,

private void metodoDifference(int[] h1, int[] h2) {
List<Integer> arrayDifference = Arrays.stream(h1).boxed().collect(Collectors.toList());
arrayDifference.removeAll(Arrays.stream(h2).boxed().collect(Collectors.toList()));
differenceText.setText(arrayDifference.toString());
}

关于java - 两个排序数组之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49593781/

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