P03 { public static <T> T kth(final List<T> list, final int k) { return list.get(k); }  static T kth(final List<T> list, final int k); static T kthRecursive(final LinkedList<T> list, final int k); static T kthStream(final List<T> list, final int k);  }
@Test public void shouldFindKthElementFromAList() throws Exception { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); assertThat(P03.kth(numbers, 2), is(equalTo(3))); }