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();
    }
 
}

 

下篇:替换Java列表List中重复元素为一个元素