public static <K, V> Map<K, V> parseListToMap(Collection<V> list, Function<V, K> mapper) { if (list == null || list.size() == 0) { return null; } Map<K, V> map = new HashMap<>(); for (V v : list) { map.put(mapper.apply(v), v); } return map; } public static <K, V> Map<K, List<V>> parseListToListMap(List<V> list, Function<V, K> mapper) { if (list == null || list.size() == 0) { return null; } Map<K, List<V>> map = new HashMap<>(); for (V v : list) { if (map.containsKey(mapper.apply(v))) { map.get(mapper.apply(v)).add(v); } else { List<V> values = new ArrayList<>(); values.add(v); map.put(mapper.apply(v), values); } } return map; } public static <K, V> Map<K, Integer> frequencyOfListElements(Collection<V> list, Function<V, K> mapper) { if (null == list || list.size() == 0) { return null; } Map<K, Integer> map = new HashMap<>(); for (V v : list) { Integer count = map.get(mapper.apply(v)); map.put(mapper.apply(v), (null == count) ? 1 : (count + 1)); } return map; }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/260318.html