java - 将两个已排序的数组列表合并为一个已排序的数组列表

标签 java sorting arraylist

这是我的代码:

 for (int i = 0, j = 0; i < array1.size() && j < array2.size();) {
    if (array1.get(i) < array2.get(j)) {
        list.add(array1.get(i));
        i++;
    } else {
        list.add(array2.get(j));
        j++;
    }
}

问题是我无法获得最大的数字。例如,如果我有两个数组 {1, 3, 5} 和 {2, 4, 6},则该代码会给出 {1, 2, 3, 4, 5}。我该如何修复它?

最佳答案

使用流的答案是正确的,但为了完整性,我想从您的代码开始提供解决方案。

int i, j;
for (i = 0, j = 0; i < array1.size() && j < array2.size();) {
    if (array1.get(i) < array2.get(j)) {
        list.add(array1.get(i));
        i++;
    } else {
        list.add(array2.get(j));
        j++;
    }
}

while(i < array1.size()) list.add(array1.get(i++));
while(j < array2.size()) list.add(array2.get(j++));

关于java - 将两个已排序的数组列表合并为一个已排序的数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44088915/

相关文章:

java - 通知恢复应用程序而不是重新启动

java - Apache Kafka 是否提供异步订阅回调 API?

java - JMS 2.0 规范 - JMS 提供者如何检测 JMS 客户端对 Message 对象的更改?

python - 按第一个元素 float 对包含字符串的元组列表进行排序 (Python)

javascript - Angular 6按日期排序对象数组

java - 对多个字段进行排序

java - 尝试修改游戏,以便程序保留未接受的答案列表并在最后打印它们。 (java)

java - 遍历要执行的命令列表——哪种模式?

python - 对百分比列表进行排序

java - 如何从公共(public)方法/函数返回 ArrayList