版权声明:无意呢。 https://blog.csdn.net/qq_41900081/article/details/85487138
首先初始化一个Hero集合,里面放100个String对象,名称分别是从
str 0
str 1
str 2
…
str 99.
通过遍历的手段,删除掉名字编号是8的倍数的对象
若最简单的使用位置查找的方式来删除对应对象会发现,若每次查找并删除,后面的对象会自动前移
参考代码1
package review5;
import java.util.ArrayList;
public class Remove {
public static void main(String[] args) {
ArrayList<String> str = new ArrayList<>();
for(int i = 0; i < 100; i++) {
str.add("str "+i);
}
System.out.println(str);
//删除掉名字编号是8的倍数的对象
for(int i = 0; i < str.size(); i++) {
if(i % 7 == 0) {
System.out.print(str.get(i)+" ");
str.remove(i);
}
}
str.add(0, "str "+0);
System.out.println();
System.out.println(str);
}
}
参考代码2
package review5;
import java.util.ArrayList;
public class Remove {
public static void main(String[] args) {
ArrayList<String> str = new ArrayList<>();
for(int i = 0; i < 100; i++) {
str.add("str "+i);
}
System.out.println(str);
//temp用来存储名字编号是8的倍数的对象
ArrayList<String> temp = new ArrayList<>();
for(String s : str) {
int i = Integer.parseInt(s.substring(4));
if(i % 8 == 0) {
temp.add(str.get(i));
}
}
System.out.println(temp);
// for(String t : temp) {
// str.remove(t);
// }
//删除str中与temp中相同的所有对象
str.removeAll(temp);
System.out.println(str);
}
}