有没有更好的方法来访问除
之外的java列表中的第一个和最后一个位置curr.set(curr.size()-1, 10);
curr.get(curr.size()-1);
curr.set(0, 10);
curr.get(0);
可以假设curr是一个列表。
答案 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
。