Ответ 1
Используйте 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
:
List<String> subItems = new ArrayList<String>(items.subList(0, 2));
Если список короче указанного размера, ожидайте за пределами exception. Выберите минимальное значение желаемого размера и текущий размер списка в качестве конечного индекса.
Наконец, обратите внимание, что второй аргумент должен быть больше, чем последний желаемый индекс.