Java实现寻找列表List中第K个元素
Java中如何在列表List中寻找第K个元素?
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
/**
* Find the Kth element of a list.
*/
public class P03 {
public static <T> T kth(final List<T> list, final int k) {
return list.get(k);
}
public static <T> T kthRecursive(final LinkedList<T> list, final int k) {
if (k == 0) {
return list.getFirst();
}
return kthRecursive(new LinkedList<>(list.subList(1, list.size())), k - 1);
}
public static <T> T kthStream(final List<T> list, final int k) {
return list.stream().limit(k + 1).collect(Collectors.toCollection(LinkedList::new)).getLast();
}
}