我们有三种方法可以删除集合中的元素,下面介绍两种方法,
一种是传统的for循环,另一种是使用Iterator迭代器(推荐使用),简单的介绍如下:
for循环删除元素:
public class ForRemove<T>
{
public void forDelete(List<T> list, T obj){
for(int i = 0;i < list.size(); i++){
if (obj == list.get(i))
{
list.remove(obj);
}
}
}
//main中调用
public static void main(String[] args)
{
ForRemove<String> re = new ForRemove<>();
List<String> listRemove = new ArrayList<>();
listRemove.add("1");
listRemove.add("2");
listRemove.add("3");
listRemove.add("4");
listRemove.add("5");
re.forDelete(listRemove, "4");
System.out.println(listRemove.toString());
}
}
输出的结果是:[1, 2, 3, 5]
iterator迭代器删除元素:
public class IteratorRemove<T>
{
public void iteratorDelete(List<T> list, T obj)
{
Iterator<T> it = list.iterator();
while(it.hasNext())
{
T item = it.next();
if (item.equals(obj))
{
it.remove();//删除当前项
}
}
}
public static void main(String[] args)
{
IteratorRemove<String> iteratorRemove = new IteratorRemove<>();//实例化
List<String> listRemove = new ArrayList<>();
listRemove.add("1");
listRemove.add("2");
listRemove.add("3");
listRemove.add("4");
listRemove.add("5");
iteratorRemove.iteratorDelete(listRemove, "4");
System.out.println(listRemove.toString());
}
}
输出的结果为:[1, 2, 3, 5]