欢迎来到Java学习网!
设为首页 | 加入收藏
当前位置: 首页 > Java语言 > Java教程 >
Java删除集合中的元素常见方法汇总

Java代码如下:

package com.jerval.test;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * <b>Description</b>:
 * <p>
 * <b>Features or change log:</b>
 * <ol>
 * <li>2014年1月21日 上午10:58:21, jervalj, C001:</li>
 * <li></li>
 * </ol>
 */
public class TestMain {

    public static void main(String[] args) {
        removeItem1();
        removeItem2();
        removeItem3();
    }

    private static void removeItem1() {
        List<Integer> list = getList();
        // 使用迭代器
        Iterator<Integer> iter = list.iterator();
        Integer item = null;
        while (iter.hasNext()) {
            item = iter.next();
            if (null != item && 5 == item.intValue()) {
                iter.remove();
            }
        }
        System.out.println(list);
    }

    private static void removeItem2() {
        List<Integer> list = getList();
        // 手动索引操作
        int len = list.size();
        Integer item = null;
        for (int i = 0;i < len;i++) {
            item = list.get(i);
            if (null != item && 5 == item.intValue()) {
                list.remove(item);
                i--;
                len--;
            }
        }
        System.out.println(list);
    }

    private static void removeItem3() {
        List<Integer> list = getList();
        // 使用引用克隆
        List<Integer> listCopy = new ArrayList<Integer>();
        listCopy.addAll(list);
        for (Integer item:list) {
            if (null != item && 5 == item.intValue()) {
                listCopy.remove(item);
            }
        }
        System.out.println(listCopy);
    }

    private static List<Integer> getList() {
        List<Integer> list = new ArrayList<Integer>();
        for (int i = 0;i < 10;i++) {
            list.add(i);
        }
        return list;
    }
}

Java代码运行结果:

[0, 1, 2, 3, 4, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 6, 7, 8, 9]
    相关教程
    推荐内容