2013-01-30 3 views
3

Мне нужно добавить последние три элемента в список. Существуют ли какие-либо утилиты для этого или я просто использую цикл for, который выполняет итерацию с «size (myList) - 1»?Получение последних трех элементов из списка/ArrayList?

+0

Это зависит от того, что вы хотите сделать с этими элементами. Вы должны быть более конкретными. – jlordo

+0

Есть такие замечательные вещи, которые называются Джавадоки ... –

+0

@sonicboom - Нет, мы просто закрываем индивидуальные вопросы, как это отмечено ниже, с помощью downvotes и закрытых голосов. SO не является «Прочитайте страницу javadaoc для класса для меня». –

ответ

26

Вы можете использовать List.subList(), чтобы получить вид на хвост исходного списка:

List<E> tail = l.subList(Math.max(l.size() - 3, 0), l.size()); 

Здесь Math.max() заботится о том случае, когда l содержит менее трех элементы.

+0

Это хорошо - все же принадлежит классу утилиты, любой знает о любом, если не должен быть легко добавлен. Я получил его локально. – arntg

0

Может быть java.util.Stack полезнее здесь. Каково использование вашего списка?

2

попробовать

List list = Arrays.asList(1, 2, 3, 4); 
    ListIterator i = list.listIterator(list.size()); 
    while (i.previousIndex() != list.size() - 4) { 
     Object e = i.previous(); 
     System.out.print(e + " "); 
    } 

отпечатки

4 3 2 
Смежные вопросы