java - 从列表中删除元素

标签 java list

我有 2 个列表,根据参数,我从 2 个列表中的 1 个中删除了一个元素。然后我循环遍历列表以进行额外处理。然而,即使列表丢失了 1 个元素,list.size() 仍然相同,导致 java.lang.IndexOutOfBoundsException。我能做些什么来解决这个问题吗?

    System.out.println(high_list_price.size());

    if(first_hit.equals("low")){
        high_list_date.remove(high_list_date.size()-1);
        high_list_price.remove(0);
        high_list_percent.remove(0);
    }
    if(first_hit.equals("high")){

        low_list_date.remove(low_list_date.size()-1);
        low_list_price.remove(0);
        low_list_percent.remove(0);
    }

    System.out.println(high_list_price.size());

    for(int tt = 0;tt < low_list_date.size();tt++){
        System.out.println(low_list_date.get(tt)+"|"+low_list_price.get(tt));
    }

    for(int ii = 0; ii < high_list_date.size();ii++){
        System.out.print(high_list_date.get(ii)+"|");
        System.out.println(+high_list_price.get(ii));
    }

high_list_price.size() = 51 在 .remove 之前和之后,但 high_list_date.size() 从 51 变为 50,这是为什么?

最佳答案

如果你向后遍历ArrayLists,你可以删除当前元素而不用担心后面会发生什么。
另一种选择是遍历,列出要删除的内容,然后从原始列表中删除这些元素。

关于java - 从列表中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9037980/

相关文章:

list - 寻找高度

java - 泛型方法返回 param 类型的父类(super class)型和方法参数类型 param

java - 如何从 JVM 获取熵?

python - 从 csv 导入包含列表的字典

python - 根据规则对python中的列表进行排序

java - 将 List 对象传递给 Android 中的方法

java - 如何创建组合框 Action 监听器?

java - Eclipse java JAX-RPC Web服务导入生成接口(interface)而不是类

java - 如何在高使用率的多线程环境中以最佳方式清理传出的 UrlConnection 对象?

python - 从带有具有列表值的键的字典创建一个新的字典列表