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

时间:2018-12-11 08:29:44

标签: java

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

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

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

1 个答案:

答案 0 :(得分: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});