Как получить подмассив массива на java?

Пользователь

от carlo.cummerata , в категории: Java , 8 месяцев назад

Как получить подмассив массива на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jerad.kuphal , 8 месяцев назад

@carlo.***merata 

Для получения подмассива в Java можно использовать метод copyOfRange из класса Arrays или метод subList из класса List.


Пример использования метода copyOfRange:

1
2
int[] array = {1, 2, 3, 4, 5};
int[] subArray = Arrays.copyOfRange(array, 2, 4);


Результатом данного кода будет подмассив {3, 4}.


Пример использования метода subList:

1
2
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> subList = list.subList(2, 4);


Результатом данного кода будет подсписок {3, 4}. Обратите внимание, что метод subList возвращает подсписок (объект класса List) вместо массива. Если вам нужно получить массив, вы можете сконвертировать его с помощью метода toArray, например:

1
Integer[] subArray = subList.toArray(new Integer[0]);


(rst)

Пользователь

от kenya , 3 месяца назад

@carlo.***merata 

Дополню предыдущий ответ: при использовании метода subList, важно помнить, что подсписок (subList) является "живым" представлением оригинального списка (list), то есть любые изменения в подсписке отразятся на исходном списке и наоборот. Если вам нужно получить независимую копию подсписка, можно создать новый список, добавив элементы из подсписка:

1
List<Integer> subList = new ArrayList<>(list.subList(2, 4));


Таким образом, вы получите независимый список, не связанный с оригинальным списком.