除了
之外,还有其他更好的方法来访问 Java 列表上的第一个和最后一个位置吗?curr.set(curr.size()-1, 10);
curr.get(curr.size()-1);
curr.set(0, 10);
curr.get(0);
其中
curr
是 List
?
如果您使用
LinkedList
,您可以获得最后一个和第一个元素。
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("element");
String last = linkedList.getLast();
String first = linkedList.getFirst();
这两个操作都是恒定时间,但如果列表为空,则会抛出
NoSuchElementException
。
我更喜欢使用 Google Guava 的
Iterables
util 类;
Iterables.getFirst(myList);
Iterables.getLast(myList);
最重要的是,它有一个安全的逻辑,您可以在列表为空/空的情况下给出默认值。
Iterables.getFirst(myList, defaultVal);
Iterables.getLast(myList, defaultVal);
如果第一个和最后一个是您实际访问的唯一元素,我建议您使用
java.util.Deque<T>
而不是 List
。