Усеките список к данному числу элементов

Для Вашего общего GUI и веб-приложений только когда-либо будет необходимо основное знание математики.

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

(Если Вы делаете 3D игровое программирование или некоторое другое определенное поле программирования, Вам, возможно, каждый день понадобился бы он Вы)

115
задан Dave Jarvis 30 September 2016 в 19:59
поделиться

2 ответа

Используйте List.subList :

import java.util.*;
import static java.lang.Math.min;

public class T {
  public static void main( String args[] ) {
    List<String> items = Arrays.asList("1");
    List<String> subItems = items.subList(0, min(items.size(), 2));

    // Output: [1]
    System.out.println( subItems );

    items = Arrays.asList("1", "2", "3");
    subItems = items.subList(0, min(items.size(), 2));

    // Output: [1, 2]
    System.out.println( subItems );
  }
}

Следует иметь в виду, что subList возвращает представление элементов, поэтому, если вы хотите, чтобы остальная часть списка имела право на сборку мусора, вы должны скопировать нужные элементы в новый Список :

List<String> subItems = new ArrayList<String>(items.subList(0, 2));

Если список короче указанного размера, ожидается исключение за пределами . Выберите минимальное значение желаемого размера и текущий размер списка в качестве конечного индекса.

Наконец, обратите внимание, что второй аргумент должен быть на единицу больше, чем последний желаемый индекс.

133
ответ дан 24 November 2019 в 02:26
поделиться
​​
list.subList(100, list.size()).clear();

или:

list.subList(0, 100);
51
ответ дан 24 November 2019 в 02:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: