有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Java中如何在不使用索引的情况下从Arraylist中删除数组元素

我想从list中删除数组int[]{1,2,3,4]

我们可以通过代码list.remove(2)(2是索引)将其从list中删除。但是我们如何通过函数remove(Object obj)删除这个数组呢 非常感谢

List list = new ArrayList();
    list.add("hello");
    list.add(10);
    list.add(new int[] { 1, 2, 3, 4 });

共 (1) 个答案

  1. # 1 楼答案

    那么,这里的问题是什么?只需将Int转换为一个对象

    list.remove((Object) 10);
    

    既然你说要删除问题中没有指定的int[],你可以这样做

    好吧,我想出了一个方法

    public void removeIntArray(List list, int[] toRemove) {
        ListIterator listIterator = list.listIterator();
        while (listIterator.hasNext()) {
            Object object = listIterator.next();
            if (object instanceof int[]) {
                int[] ints = (int[]) object;
                if (Arrays.equals(ints, toRemove)) {
                    listIterator.remove();
                    break;
                }
            }
        }
    }
    

    就叫它

    removeIntArray(list, new int[]{1, 2, 3, 4});