Как удалить элемент из двумерного массива в java

Вопрос: У меня многомерный массив, как private int numbers[][] ={{ 170, 100 },{ 270, 100 },{ 370, 100 },{ 470, 100 }} Теперь я меняю позиции, используя Collections.shuffle(Arrays.asList(numbers)); Теперь я хочу удалить первый элемент из перетасованного массива, т. {170,100} Если первый элемент {170,100}, он должен быть удален из массива. Для этого я попытался сделать что-то

Вопрос:

У меня многомерный массив, как

private int numbers[][] ={{ 170, 100 },{ 270, 100 },{ 370, 100 },{ 470, 100 }}

Теперь я меняю позиции, используя Collections.shuffle(Arrays.asList(numbers)); Теперь я хочу удалить первый элемент из перетасованного массива, т. {170,100} Если первый элемент {170,100}, он должен быть удален из массива. Для этого я попытался сделать что-то вроде этого

List<int[]> points =Arrays.asList(numbers); Collections.shuffle(points); points.remove(0);

но он бросает java.lang.UnsupportedOperationException может кто-нибудь помочь мне удалить первый элемент из двухмерного дня.

Лучший ответ:

Используйте следующий код:

List<int[]> points =new ArrayList(Arrays.asList(numbers)); Collections.shuffle(points); points.remove(0); Ответ №1

Как насчет

List<int[]> points = new ArrayList(Arrays.asList(numbers)); Ответ №2

Ну, его написано в методе API Arrays#asList

Возвращает список фиксированного размера, поддерживаемый указанным массивом. (Изменения в возвращенном списке “write through” в массив.)

Вы не можете изменить возвращенный список. Что вы можете сделать, так это использовать предложение Масуда.

Ответ №3

Проблема заключается в том, что Arrays.asList возвращает список, который объявляется в объявлении класса Array.

private static class ArrayList<E> extends AbstractList<E> implements RandomAccess, java.io.Serializable

и не выполняет операции модификации, таким образом, вы получаете

public E remove(int index) { throw new UnsupportedOperationException(); }

из этого суперкласса AbstractList.

Как предложил Реймеус: оберните его в java.util.ArrayList или LinkedList

Оцените статью
Добавить комментарий