Списки массивов в Java - PullRequest
       4

Списки массивов в Java

0 голосов
/ 25 марта 2011

Есть ли способ удалить все пустые ячейки в ArrayList простым вызовом встроенной функции? Я видел trimToSize, но на самом деле я не понял, что это значит.

Например, предположим, у меня есть массив, который содержит {1,2,3}. Допустим, я говорю array.remove(1), поэтому теперь массив выглядит как {1,null,3}. Есть ли функция для вызова, чтобы она сходилась до {1,3}?

Я знаю, что могу жестко написать метод, чтобы сделать это для меня, но мне было просто интересно.

Ответы [ 3 ]

7 голосов
/ 25 марта 2011

Это именно то, что remove делает .

Удаляет элемент по указанному позиция в этом списке. Сдвиги любые последующие элементы слева (вычитает один из их индексов).

Теперь, если вы говорите о массивах, а не ArrayList, ответ - нет.

2 голосов
/ 25 марта 2011

Если вы используете ArrayList, вам не нужно беспокоиться о сжатии массива после удаления из него элемента.Класс ArrayList позаботится об этом ведении хозяйства.

Если вы используете массив, вы можете использовать класс Commons Lang ArrayUtils .Методы removeElement в этом классе упрощают удаление элемента из массива и смещение всех элементов после него влево.

1 голос
/ 25 марта 2011

В здесь вы найдете сообщение, в котором показано, как удалить все нулевые элементы в коллекции

    List<Integer> myList = new ArrayList<Integer>();

    myList.add(1);
    myList.add(2);
    myList.add(null);
    myList.add(3);
    myList.add(null);
    myList.add(4);

    System.out.println("With null values");
    for(Integer i: myList)
        System.out.println(i);

    myList.removeAll(Collections.singleton(null));              

    System.out.println("After deleting null values");
    for(Integer i: myList)
        System.out.println(i);

Вывод: С нулевыми значениями 1 2 пусто 3null 4

После удаления нулевых значений 1 2 3 4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...