求一最高效的方式,遍历,修改,删除一个ArrayList中的若干元素?解决方案
求一最高效的方式,遍历,修改,删除一个ArrayList中的若干元素?
求一最高效的方式,遍历,修改,删除一个ArrayList中的若干元素?
例如:
for (int i = 0; p_arrayList.size() < i; i++)
{
if (...)
{
p_arrayList.remove(i);
}
if (...)
{
new ObjectXX = .....;
p_arrayList.set(i , ObjectXX);
}
}
------解决方案--------------------
如果要修改、删除什么的,可以使用LinkedList,效率要比ArrayList高。
------解决方案--------------------
用迭代器可以很方便的遍历所有元素。
------解决方案--------------------
学习!up
------解决方案--------------------
不能这样删除的
会outofbounds
------解决方案--------------------
求一最高效的方式,遍历,修改,删除一个ArrayList中的若干元素?
例如:
for (int i = 0; p_arrayList.size() < i; i++)
{
if (...)
{
p_arrayList.remove(i);
}
if (...)
{
new ObjectXX = .....;
p_arrayList.set(i , ObjectXX);
}
}
------解决方案--------------------
如果要修改、删除什么的,可以使用LinkedList,效率要比ArrayList高。
------解决方案--------------------
用迭代器可以很方便的遍历所有元素。
------解决方案--------------------
学习!up
------解决方案--------------------
不能这样删除的
会outofbounds
------解决方案--------------------
- Java code
import java.util.ArrayList; /** * * @author wdman * @version 1.0 2007-12-26 */ public class TestList { /** * @param args */ public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); list.add("data"); list.add("data2"); list.add("data"); list.add("data4"); list.add("data"); list.add("data2"); list.add("data"); list.add("data8"); list.add("data"); list.add("data10"); list.add("data"); int j = list.indexOf("data2"); while (j > -1) { list.set(j, "new data"); j = list.indexOf("data2"); } while (list.contains("data")) { list.remove("data"); } for (int i=0; i<list.size(); i++) { System.out.println(list.get(i)); } } }
------解决方案--------------------
- Java code
while (list.contains("data")) { list.remove("data"); }
------解决方案--------------------
up!!!
------解决方案--------------------
up...
------解决方案--------------------
请注意代码简洁和代码高效的区别.
------解决方案--------------------
第一 如果不需要明确定位可以采取6楼给出的用迭代器的方法
第二 如果需要定位并且有删除最好从后向前遍历 因为如果从前向后遍历当你删除的时候会影响到后面的记录size的大小也会变 很有可能超出下标范围
------解决方案--------------------
建议是否可以采用HashMap
------解决方案--------------------
这是对于集合类的理解 , ArrayList 用于查询,比较方便,而且高效。
如果用于删除和插入建议使用 LikedList