package com.shekhargulati.ninetynine_problems._01_lists; import java.util.AbstractMap.SimpleEntry; import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; /** * <b><(**) Drop every N'th element from a list/b> */ public class P16 { public static <T> List<T> dropEveryNth(List<T> list, int n) { if (n == 0) { return list; } return IntStream.range(0, list.size()) .mapToObj(i -> new SimpleEntry<>(list.get(i), i)) .filter(entry -> (entry.getValue() + 1) % n != 0) .map(SimpleEntry::getKey) .collect(Collectors.toList()); } }