• + 0 comments
    public static int migratoryBirds(List<Integer> arr) {
        Comparator<Long> longComp = Long::compare;
        Map<Integer, Long> countMap = arr.stream().collect(Collectors.groupingBy((Integer i)->i, Collectors.counting()));
        long maxFrequency = countMap.entrySet().stream().sorted(Map.Entry.comparingByValue(longComp.reversed())).
        findFirst().get().getValue();
        Integer key = countMap.entrySet().stream().filter(en -> en.getValue() == maxFrequency).sorted(Map.Entry.comparingByKey()).findFirst().get().getKey();
        return key;
    }