Java实现寻找列表List中最后第二个元素
如何在一个元素列表List中找到最后第二个元素?
import java.util.LinkedList;
import java.util.List;
import java.util.NoSuchElementException;
public class P02 {
public static <T> T secondLast(List<T> list) {
if (list.size() < 2) {
throw new NoSuchElementException("Can't find secondLast element from a list with less than 2 elements");
}
return list.get(list.size() - 2);
}
public static <T> T secondLastRecursion(LinkedList<T> list) {
if (list.size() < 2) {
throw new NoSuchElementException("Can't find secondLast element from a list with less than 2 elements");
}
if (list.size() == 2) {
return list.getFirst();
}
return secondLastRecursion(new LinkedList<>(list.subList(1, list.size())));
}
}