for(int i = 0,n = ids.length;i<n;i++){
int id = Integer.parseInt(ids[i]);
for(int j =0;j <stockApplyDetailList.size();j++){
WhStockapplydetail detail = stockApplyDetailList.get(j);
System.out.println("id:"+id +"------detail:"+detail.getId());
if(id == detail.getId()){
stockApplyDetailList.remove(detail);
}
}
}
总是报数组下标异常,后来找了一下原因,是和list的remove方法有关,List每remove掉一个元素以后,后面的元素都会向前移动
解决方法:倒过来遍历list
for(int i = 0,n = ids.length;i<n;i++){
int id = Integer.parseInt(ids[i]);
for(int j =stockApplyDetailList.size()-1;j >= 0;j--){
WhStockapplydetail detail = stockApplyDetailList.get(j);
System.out.println("id:"+id +"------detail:"+detail.getId());
if(id == detail.getId()){
stockApplyDetailList.remove(detail);
}
}
}
用这种方式就好了,呵呵
分享到:
相关推荐
在Java编程语言中,`List.removeAll()`方法是一个非常实用的函数,它允许我们从列表中一次性移除所有指定元素。这个方法是集合框架的一部分,它提供了高效的方式来进行元素的删除操作。本文将深入探讨`removeAll()`...
JAVA LIST接口的REMOVE重载方法调用原理解析 JAVA中的LIST接口提供了多个重载的REMOVE方法,分别传入参数为索引index、Object、Integer等,这些重载方法的调用原理是什么?在实际开发中,我们经常会遇到这种情况,...
- `List`接口中的方法`add`, `remove`, `set`等操作可能会影响迭代器,因此在遍历列表时应避免修改列表,除非使用`Iterator`的`remove()`方法。 - `List`接口还提供了一些其他的方法,如`contains()`, `indexOf()`, ...
List是Java中最常用的集合类型之一,理解并熟练掌握它的使用方法对于日常开发来说至关重要。通过上面的学习,我们可以看到List提供了丰富的API来帮助我们处理数据。无论是简单的元素增删改查还是更复杂的排序和过滤...
"javaList用法详解" Java 中的 List 用法是指在 Java 编程语言中使用 List 集合的方法和实现方式。List 集合是 Java 中的一种常用的集合类型,提供了许多实用的方法和实现类,下面将详细介绍 List 用法和实例。 ...
`remove()`方法是`List`接口中的一个关键操作,用于从列表中删除指定的元素或根据索引移除元素。在使用`remove()`方法时,需要注意一些重要的细节以避免潜在的问题和错误。下面将详细介绍`List.remove()`方法的两种...
这篇博客“java list 过滤”可能深入探讨了这些方法。 首先,Java集合框架中的`List`接口是有序的、允许重复元素的集合。我们可以通过`java.util.List`的`stream()`方法将其转换为流(Stream),然后利用流操作进行...
在本教程中,我们将深入探讨如何创建和使用`Java List`。 首先,我们需要导入`java.util.List`和`java.util.ArrayList`(或`java.util.LinkedList`)这两个包。`ArrayList`和`LinkedList`都是`List`接口的实现类,...
list.remove(j); // 移除重复项 } } if ((list2.size() + 1) > 1) { // 如果有重复项 num = Math.max(num, list2.size() + 1); // 更新最大重复次数 } } System.out.println(num); if (num > 1) { ...
2. **日志删除**:根据特定条件(如日期、操作类型)删除日志项,可以通过遍历列表并使用`list.remove()`方法。例如,如果要删除所有指定日期前的日志,可以先找到第一个符合条件的元素,然后用`list.removeAll()`...
- `remove(Object o)` 方法:根据对象引用移除第一个匹配的元素,如 `list.remove(new Integer(5))`,这会删除值为5的Integer对象。 3. **修改元素(Update/Replace)** - `set(index, element)` 方法:替换指定...
如果在遍历过程中需要移除元素,必须使用`it.remove()`,直接调用`list.remove()`会导致并发修改异常(ConcurrentModificationException)。 ### 第二种:增强型for循环(foreach) ```java for (A a : list) { /...
"javalist.zip_list集合 java"这个标题暗示我们将探讨Java中的List集合以及它的应用。描述中提到“java中集合list的应用非常重要”,这确实不假,因为List在处理有序数据时具有广泛的应用场景。 List接口位于java....
在Java编程领域,"Java-Mail-list.zip_JAVA list通讯录"是一个示例项目,它展示了如何使用Java语言来实现一个基本的通讯录系统。这个项目包含添加联系人、搜索联系人、删除联系人以及查询联系人等核心功能,是学习...
本文将深入解析Java集合中的Collection、List、Set和Map,包括它们的使用方法、实现原理以及如何进行排序。 ### 集合框架概述 1.1.1 容器简介 容器是Java集合框架的基础,它是一个可以存储多个对象的容器,提供了...
Java 编程语言中有许多实用的方法可以提高开发效率和代码质量,其中使用 ArrayList 类是最常见的一种。ArrayList 类是一个大小可变的数组,可以用来保存数据里读出的数据,然后可以按分页显示。 使用 ArrayList 类...
Java List 是一种集合框架中的接口,它代表了一个有序的、可重复的元素序列。与数组类似,List 可以通过角标访问元素,...在实际应用中,应根据具体场景选择合适的 List 实现类,并合理使用 List 的方法和迭代器功能。
### List常用方法详解 在Java编程语言中,`List`接口是集合框架的重要组成部分,它提供了有序元素集合的实现,并允许重复元素的存在。本文将详细解释`List`接口中的常用方法,帮助开发者更好地理解和运用这些功能...
- **List转字符串**:可以使用`toString()`方法或者`Arrays.toString()`方法将List转换为字符串形式。 - **List转数组**:通过`toArray()`方法,可以将List转换为数组。例如: ```java List<Integer> arrayList0...