我們有三種方法可以刪除集合中的元素,下面介紹兩種方法,
一種是傳統的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]