删除集合中的元素和自己想的不一样,代码片段:
private final LinkedList<Boolean> selected = new LinkedList<Boolean>();
public LinkedList<Boolean> getSelect() {
return selected;
}
for (int i = 0; i < adapter.getSelect().size(); i++) {
System.out.println(i+"|" + adapter.getSelect().get(i));
if(adapter.getSelect().get(i)){
adapter.getSelect().remove(i);
list.remove(i);
}
}
每次删除都不是自己想要的,总是少删除,正了整个半天,郁闷了一天。菜鸟啊,太菜...
第一次循环是对的,删除某个元素后,adapter.getSelect().size()的值会跟着减少,此时再执行删除会删除以为删除的后面一个元素而跳过以为要删除的,简单修改一下:
for (int i = 0; i < adapter.getSelect().size(); ) {
System.out.println(i+"|" + adapter.getSelect().get(i));
if(adapter.getSelect().get(i)){
adapter.getSelect().remove(i);
list.remove(i);
} else {
i++;
}
}
在此标记下,以后不要再犯!
分享到:
相关推荐
简介:写一个链表的数据结构,要求实现IList接口。 具体要求: 1、 使用代码规范。 2、 至少对IList中的Add,Remove,Insert,Indexer,IEnumerator进行单元测试。 3、 对上述每个单元测试方法至少书写4种不同的单元...
java中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.doc
下面小编就为大家带来一篇浅谈普通for循环遍历LinkedList弊端。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
LinkedList 中的每一个元素都可以称之为节点(Node),每一个节点都包含三个项目:其一是元素本身,其二是指向下一个元素的引用地址,其三是指向上一个元素的引用地址。 Node 是 LinkedList 类的一个私有的静态内部...
ClassRosterList 基本的LinkedList程序添加和删除元素,使用增强的for循环和排序方法。
源码解析jdk7.0集合:LinkedList的底层实现原理.pdf
4)打印集合的大小,然后删除集合中的第3个元素,并显示删除元素的内容,然后再打印目前集合中第3个元素的内容,并再次打印集合的大小。 3、编写程序练习Map集合的基本使用: 1)创建一个只能容纳String对象的...
本文实例讲述了C#集合遍历时删除和增加元素的方法。分享给大家供大家参考,具体...我原来设想,把原来链表需要删除的元素直接remove掉,那些新添加的元素,先装入到一个临时链表中,等循环结束,再用Add把临时链表的头
入栈的push方法:添加一个新的元素到栈顶 出栈的pop方法:返回栈顶元素 判断是否空的empty()方法:如果栈为空,则返回true pushAll(Collection src)方法:将方法中指定集合中所有元素依次全部放到堆栈 popAll...
java LinkedList的添加删除操作 java LinkedList的添加删除操作
该资源利用基础的链表结构,结合泛型和反射的知识点,实现重写LinkedList集合类,可以存放任意类型数据。比较推荐对Java有稳固基础的同学来阅读,为了方便阅读,代码的注释写的非常的清楚
List-LinkedList 单链表就地反转 的代码的一种实现。
Collection容器存储一个元素集合,包括List、Set和Queue等类型。Map容器存储键/值对映射。 Collection接口是List、Set和Queue接口的父接口,定义了存取一组对象的方法。Collection接口继承自Iterable接口,这意味着...
Java 中Linkedlist类的源代码Java 中Linkedlist类的源代码Java 中Linkedlist类的源代码Java 中Linkedlist类的源代码
这是自己写的一个Java实现模拟数据结构中的LinkedList。实现其简单的添加节点功能
单个集合的学习路线:使用->做实验->画图->分析源码 集合:大小可变的序列,只能存放对象 集合和数组的区别: 1.集合是大小可变的序列,数组在声明后,长度不可变 2.数组只能存放声明时指定的一种数据类型,集合...
java代码-【3】定义一个学生类,使用LinkedList对学生类进行管理,执行添加操作,并打印数据。 运行效果图为: 任务: 1.定义一个学生类Student (1)属性为:学号stuId(int),姓名name(String),成绩...
使用LinkedList类编写程序,用某种集合接口的实现类作存储,实现具有自定义排序功能的包含姓名、年龄、身高、职称等内容的人事信息输入和打印。
javascript 集合类 LinkedList代码实现
主要介绍了解析Java中的队列和用LinkedList集合模拟队列的方法,相关算法的实现也是ACM中的常见题目,需要的朋友可以参考下