关于java中的集合如何删除一个元素。

我们有三种方法可以删除集合中的元素,下面介绍两种方法,

一种是传统的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]

posted on 2017-03-18 07:55  java-追风筝的人  阅读(6908)  评论(0编辑  收藏  举报

导航