How to map with casting in Java8
Original code:
Stream.of(objects) .filter(c -> c instanceof Client) .map(c -> (Client) c) .map(Client::getID) .forEach(System.out::println);
Better one:
Stream.of(objects) .filter(Client.class::isInstance) .map(Client.class::cast) .map(Client::getID) .forEach(System.out::println);
How to convert an array to Stream?
Stream<String> str = Arrays.stream(array); str.forEach(x -> System.out.println(x));
How to find duplicates in a list?
The following snippet will filter out null values from the given list and then leave only those elements which are duplicated:
List<String> list =
Lists.newArrayList("aa", "bb", "cc", null, "aa", "bb", "aa", null, null);
list.stream()
.filter(Objects::nonNull)
.filter(tag -> Collections.frequency(list, tag) > 1)
.collect(Collectors.toSet())
.forEach(System.out::println);
The results of the above code is aa, bb.