如何获取数组列表的最后一个值?


当前回答

这个怎么样? 在你班上的某个地方……

List<E> list = new ArrayList<E>();
private int i = -1;
    public void addObjToList(E elt){
        i++;
        list.add(elt);
    }


    public E getObjFromList(){
        if(i == -1){ 
            //If list is empty handle the way you would like to... I am returning a null object
            return null; // or throw an exception
        }

        E object = list.get(i);
        list.remove(i); //Optional - makes list work like a stack
        i--;            //Optional - makes list work like a stack
        return object;
    }

其他回答

guava提供了另一种从List中获取最后一个元素的方法:

last = Lists.reverse(list).get(0)

如果提供的列表为空,则抛出IndexOutOfBoundsException异常

size()方法返回数组列表中元素的个数。元素的下标值从0到(size()-1),因此可以使用myArrayList.get(myArrayList.size()-1)来检索最后一个元素。

获取数组列表的最后一个值:

var yourlist = ["1","2","3"];
var lastvalue = yourlist[yourlist.length -1];

它给出的输出是3。

列表中的最后一项是list.size() - 1。该集合由一个数组支持,数组从索引0开始。

所以列表中的元素1在数组的下标为0

列表中的元素2位于数组的下标1处

列表中的元素3位于数组的下标2处

等等。

在普通Java中没有优雅的方法。

谷歌番石榴

谷歌番石榴库是伟大的-检查他们的Iterables类。如果列表为空,这个方法将抛出NoSuchElementException,而不是IndexOutOfBoundsException,就像典型的size()-1方法一样-我发现NoSuchElementException更好,或者能够指定默认值:

lastElement = Iterables.getLast(iterableList);

如果列表为空,你也可以提供一个默认值,而不是一个异常:

lastElement = Iterables.getLast(iterableList, null);

或者,如果你使用选项:

lastElementRaw = Iterables.getLast(iterableList, null);
lastElement = (lastElementRaw == null) ? Option.none() : Option.some(lastElementRaw);