Android 实现获取集合中出现重复数据的值和数量

发布时间:2024年01月11日

方法一:使用HashMap和HashSet

  1. 创建一个HashMap,用于存储集合中的元素及其出现次数。
Map<String, Integer> map = new HashMap<>();
  1. 遍历集合,将每个元素作为键,将其出现次数作为值添加到HashMap中。
for (String item : list) {
    map.put(item, map.getOrDefault(item, 0) + 1);
}
  1. 遍历HashMap,找到出现次数大于1的元素及其出现次数。
for (Map.Entry<String, Integer> entry : map.entrySet()) {
    if (entry.getValue() > 1) {
        System.out.println("重复元素:" + entry.getKey() + ",出现次数:" + entry.getValue());
    }
}

方法二:使用Java 8的Stream API

  1. 首先,将列表转换为Stream。
Stream<String> stream = list.stream();
  1. 使用collect()方法将Stream转换为Map,其中键为元素,值为出现次数。
Map<String, Integer> map = stream.collect(Collectors.toMap(list::contains, String::equals, (a, b) -> a + 1));
  1. 遍历HashMap,找到出现次数大于1的元素及其出现次数。
for (Map.Entry<String, Integer> entry : map.entrySet()) {
    if (entry.getValue() > 1) {
        System.out.println("重复元素:" + entry.getKey() + ",出现次数:" + entry.getValue());
    }
}

以上两种方法都可以用于获取集合中重复数据的值和数量。方法一是基于HashMap和HashSet的实现,而方法二是基于Java 8的Stream API。可以根据实际需求和性能要求选择合适的方法。

文章来源:https://blog.csdn.net/Chen_xiaobao/article/details/135529904
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。