`
kimfly
  • 浏览: 47811 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

今天又犯了同样的错误--关于list对象

    博客分类:
  • java
J# 
阅读更多

程序目的:从List对象commonGroups中去除与parentGroups数组中id相同的对象。代码如下:

for (int i = 0; i < parentGroups.length; i++) {
                for (int j = 0; j                     Group group = (Group) commonGroups.get(i);
                    if (parentGroups[i].equals(group.getId())) {
                        commonGroups.remove(group);
                    }
                }
            }

这是一个很简单的两层循环,乍看没有任何问题,可是程序结果总是不对。问题在什么地方呢?

 请注意commonGroups.remove(group);这一段,由于commonGroups.size() 是循环计数点,每次执行romove后,size()的大小就改变了。因此,问题就出来了。

  这种情况很常见,可惜今天我又犯了这样的错误。切记,切忌啊。

 

 

分享到:
评论

相关推荐

    C#List<T>的应用记录

    - 在C#中,List是引用类型,这意味着当你将一个List对象赋值给另一个变量时,实际上是传递了对原始对象的引用。因此,任何通过这个引用进行的修改都会影响到原始对象。 - 这一特性在代码示例中得到了体现,当`List...

    List集合之间内连接

    在.NET编程环境中,List集合是常用的数据结构,用于存储一系列有序的对象。当我们需要将两个或多个List集合中的元素根据特定条件进行匹配并合并时,可以使用内连接(Inner Join)操作。内连接会返回两个集合中满足...

    SpringMVC接收多个对象的4种方法

    在后端,控制器可以声明一个List类型的参数,Spring会自动将表单数据转换为User对象列表。这种方法减少了手动处理数据的步骤,提高了代码可读性。 3. **将Json对象序列化成Json字符串提交,以List接收** 当表单...

    Json字符串转Java对象和List代码实例

    这个方法接受一个List对象,使用Fastjson的`toJSONString`方法将整个List转换为JSON格式的字符串。 - `jsonToList`: 将JSON字符串转换为Java List对象。这个方法接受一个JSON字符串和一个Class对象,Class对象表示...

    IdTCPServer接收发送list

    如果数据是list格式(例如JSON或XML),则需要解析这些字符串并转换为list对象。 2. **自定义协议接收**:如果你设计了自己的数据传输协议,可能需要使用`IOHandler.ReadStream`来读取二进制流,然后根据协议解析成...

    C# List使用总结

    - 类型安全:`List&lt;T&gt;`优于`ArrayList`,因为它强制类型检查,避免了运行时类型转换错误。 - 性能:在大多数情况下,`List&lt;T&gt;`的性能优于`ArrayList`,尤其是当集合中元素类型固定时。 - 扩展性:两者都可以动态扩展...

    JSON的String字符串与Java的List列表对象的相互转换

    转换的过程中,需要指定泛型类型`&lt;Answer&gt;`,以便正确地创建List对象。 ```java List&lt;Answer&gt; answerList = new ArrayList(); JSONArray jsonArray = JSONArray.fromObject(str); answerList = JSONArray.toList...

    注册表实现List添加,删除,保存,读取.zip

    - 当读取List时,从注册表值中获取字符串或字节数组,然后反序列化回原来的List对象。这同样需要使用到序列化类的反序列化方法。 6. **删除List数据**: - 删除List数据通常涉及到删除包含该List的整个注册表项。...

    清华大学面C++向对象程序设计课后答案

    【清华大学面向对象程序设计C++课后答案解析】 在学习C++这门强大的面向对象编程语言时,...同时,自我检验和反思也是学习过程中的重要环节,这些答案可以帮助学生及时发现并纠正错误,避免在实际编程中犯同样的错误。

    sukkiri-java-v2-chap13-list13

    标题 "sukkiri-java-v2-chap13-list13" 暗示这是一个关于 Java 编程语言的学习资源,可能是一个项目或教程的一部分,专注于第十三章的内容。描述中的信息同样简洁,与标题一致,暗示内容可能直接对应于章节的练习或...

    ajax和json跟java实现List、Map直接传递

    - 值可以是基本类型、字符串、其他Map或List,同样,如果是自定义对象,需要满足序列化条件。 在Java服务端,你可以使用如下的代码将List或Map转换为JSON: ```java import org.json.JSONArray; import org.json....

    用sortedlist,vsto合并两份excel

    2. 创建SortedList对象,用于存储Excel数据,键可以是唯一的标识符(如行号或唯一字段),值可以是包含该行所有数据的对象数组。 3. 使用VSTO打开第一个Excel文件,遍历每个工作表,读取每一行的数据,将其添加到...

    struct2传递list集合到页面

    1. **Action方法创建和填充list**:在后台的Action类中,我们需要创建一个list对象,然后填充数据。例如,假设我们有一个`User`类,我们可能会创建一个`List&lt;User&gt;`来存储用户信息: ```java public class ...

    C++ gcc编译器常见编译错误表

    Argument list syntax error (参数表语法错误) - **解释**:当函数调用中的参数列表不符合语法规则时,将出现此错误。 - **解决方案**:检查参数列表,确保所有参数都按照正确的顺序和格式给出。 #### 4. Array ...

    C++面向对象课程设计报告.pdf

    根据提供的文件信息,这份文档标题为"C++面向对象课程设计报告",描述同样为该标题,标签为"技术及资料"。文件内容包括了部分C++类的设计,主要涉及的类是CMyString,以及部分链表类的声明。下面将详细阐述其中的...

    java入门 练习题题库

    内存回收程序可以在指定的时间释放内存对象: 错误。 #### 十三、ArrayList与List的关系 - **知识点**: `ArrayList`是`List`接口的一种实现。 - **解析**: - `ArrayList`继承自`List`接口,因此可以通过`List`...

    C编译错误信息

    - **Argument list syntax error**:函数调用的参数列表有语法错误,如逗号缺失或右括号不完整。检查并修复参数间的分隔符。 - **Array bounds missing**:数组定义时遗漏了右方括号`]`。确保数组定义完整。 - **...

    tc错误代码完整集录

    - 解析:预处理指令`#undef`语法错误,同样需检查其格式是否正确。 10. **Bit field too large** - 解析:位字段长度超过了编译器支持的最大长度。 11. **Call of non-function** - 解析:尝试调用一个未定义或...

    java 和 json 对象间转换

    它同样支持将JSON格式的字符串或JSON对象转换回Java对象。该库依赖于一些其他开源库来提供其功能,包括commons-lang、commons-beanutils、commons-collections、commons-logging和ezmorph等。 在使用json-lib进行...

    to-do-list

    7. **用户体验**:良好的用户体验也是to-do-list项目中的重要部分,这包括响应式设计(适应不同设备)、友好的错误提示以及平滑的动画过渡效果等。 8. **模块化和面向对象编程**:为了代码的可读性和可维护性,可以...

Global site tag (gtag.js) - Google Analytics