Java List寻址第一个和最后一个元素

时间:2017-04-14 23:06:43

标签: java collections

有没有更好的方法来访问除

之外的java列表中的第一个和最后一个位置
curr.set(curr.size()-1, 10);
curr.get(curr.size()-1);
curr.set(0, 10);
curr.get(0);

可以假设curr是一个列表。

3 个答案:

答案 0 :(得分:4)

如果你使用LinkedList,你可以获得最后和第一个元素。

LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("element");

String last = linkedList.getLast();
String first = linkedList.getFirst();

两个操作都是固定时间,但如果列表为空,则会抛出NoSuchElementException

答案 1 :(得分:2)

我更愿意使用Google Guava的Iterables util class;

Iterables.getFirst(myList);
Iterables.getLast(myList);

除此之外,它还有一个安全的逻辑,你可以在列表为空/空的情况下给出一个默认值。

Iterables.getFirst(myList, defaultVal);
Iterables.getLast(myList, defaultVal);

答案 2 :(得分:0)

如果第一个和最后一个是您实际访问的唯一元素,我建议您使用java.util.Deque<T>而不是List

相关问题