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


当前回答

由于数组列表中的索引从0开始,并在实际大小前一位结束,因此返回最后一个数组列表元素的正确语句将是:

Int last = mylist.get(mylist.size()-1);

例如:

如果数组列表的大小为5,那么size-1 = 4将返回数组的最后一个元素。

其他回答

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

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

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

如果修改列表,则使用listIterator()并从最后一个索引(即分别为size()-1)开始迭代。 如果你再次失败,检查你的列表结构。

使用lambdas:

Function<ArrayList<T>, T> getLast = a -> a.get(a.size() - 1);

如果可以的话,将ArrayList替换为ArrayDeque,它有方便的方法,如removeLast。

这对我很管用。

private ArrayList<String> meals;
public String take(){
  return meals.remove(meals.size()-1);
}