19

我需要将最后三个元素添加到列表中。是否有任何实用方法,或者我是否会使用从“size(myList) - 1”向下迭代的 for 循环?

4

6 回答 6

51

您可以使用List.subList()来查看原始列表的尾部:

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

在这里,Math.max()处理l包含少于三个元素的情况。

于 2013-01-30T14:13:03.907 回答
5

看:

List.subList(arg0, arg1)!
于 2013-01-30T14:12:54.370 回答
3

使用List.subList http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html#subList%28int,%20int%29

就像是

myList.subList(myList.size()-3, myList().size());
于 2013-01-30T14:13:05.993 回答
2

怎么样subList(from, to)

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/AbstractList.html#subList(int , int)

于 2013-01-30T14:14:08.583 回答
1

尝试

    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
于 2013-01-30T14:19:12.017 回答
0

也许java.util.Stack这里更有用。你的清单有什么用?

于 2013-01-30T14:15:59.107 回答