/**
* 学习List数组删除特定元素
*/
public static void main(String[] args) {
List<String> list = new LinkedList<String>();
for (int i = 0; i < 10; i++) {
list.add(Float.toString(RandomUtils.nextFloat()) + Long.valueOf(RandomUtils.nextLong()));
}
for (String s : list) {
System.out.println(s);
}
String t = null;
long s = System.currentTimeMillis();
// 可以简单删除数据
Iterator<String> iter = list.iterator();
while (iter.hasNext()) {
t = iter.next();
if (t.endsWith("2") || t.endsWith("4") || t.endsWith("6")) {
iter.remove();
}
}
// 会造成数据删除未达到效果
/*
* for(int i = 0; i < list.size(); i ++){ t = list.get(i);
* if(t.endsWith("2") || t.endsWith("4") || t.endsWith("6")){
* list.remove(i); } }
*/
// 会造成删除引发异常
/*
* for(String t1 : list){ t = t1; if(t.endsWith("2") || t.endsWith("4") ||
* t.endsWith("6")){ list.remove(t1); } }
*/
long e = System.currentTimeMillis();
System.out.println("使用时间 :" + (e - s));
for (String v : list) {
System.out.println(v);
}
}
上面代码使用到了interator接口才得以实现。