精华内容
下载资源
问答
  • 举个例子,我们要统计集合中名字重复的次数。 List<String>nameLists=Arrays.asList("Lvshen","Lvshen","Zhouzhou","Huamulan","Huamulan","Huamulan"); 方式一 一般我们会这么做: Map<String,...

    背景

    统计List集合中元素出现的次数,相信大家都做过。举个例子,我们要统计集合中名字重复的次数。

    List<String> nameLists = Arrays.asList("Lvshen", "Lvshen", "Zhouzhou", "Huamulan", "Huamulan", "Huamulan");
    

    方式一

    一般我们会这么做:

    Map<String, Integer> nameMap = Maps.newHashMap();
    
    nameLists.forEach(name -> {
        Integer counts = nameMap.get(name);
        nameMap.put(name, counts == null ? 1 : ++counts);
    });
    System.out.println(nameMap);
    

    首先创建一个map,然后遍历list,把list元素作为map的key,初始的value设置为1,如果遍历到重复的key,value加1,这样我们就统计出想要的结果了。

    图片

    上面是我们通常的做法,相信大家都这样做过。

    方式二

    Java8后我么又有了新的统计方法,我们可以使用stream()一步到位。

    Map<String, Long> nameMap = nameLists.stream().collect(Collectors.groupingBy(p -> p, Collectors.counting()));
    

    运行结果如下:

    图片

    上面的代码就是对集合中的元素进行分组统计,是不是像SQL的统计方法呢。

    select key,count(key) from table group by key;
    

    方式三

    Java8还有其他的统计方式:

    Map<String, Integer> nameMap = Maps.newHashMap();
    
    nameLists.forEach(name -> nameMap.compute(name, (k, v) -> v == null ? 1 : ++v));
    

    使用compute和方法一类似,但是这里少个get获取这一步骤。

    图片

    进入compute方法,我们发现里面有获取原有值这一项:

    V oldValue = get(key);
    

    然后在旧值的基础上操作获取新值:

    V newValue = remappingFunction.apply(key, oldValue);
    

    好了今天的Java8小知识分享就到这里了。下次我们再来分享其他Java8的小知识。

    往期推荐

    扫码二维码,获取更多精彩。或微信搜Lvshen_9,可后台回复获取资料

    回复"java" 获取java电子书;
     
    回复"python"获取python电子书;
     
    回复"算法"获取算法电子书;
     
    回复"大数据"获取大数据电子书;
     
    回复"spring"获取SpringBoot的学习视频。
     
    回复"面试"获取一线大厂面试资料
     
    回复"进阶之路"获取Java进阶之路的思维导图
     
    回复"手册"获取阿里巴巴Java开发手册(嵩山终极版)
     
    回复"总结"获取Java后端面试经验总结PDF版
     
    回复"Redis"获取Redis命令手册,和Redis专项面试习题(PDF)
     
    回复"并发导图"获取Java并发编程思维导图(xmind终极版)

    另:点击【我的福利】有更多惊喜哦。

    展开全文
  • 如何利用map集合统计中重复元素个数 众所周知,map接口是一种双列集合,每一个键对象key值都不相等,利用这个特性,可以统计重复元素的个数 public class Main { public static void main(String args[]) { TreeMap&...

    如何利用map集合统计中重复元素个数

    众所周知,map接口是一种双列集合,每一个键对象key值都不相等,利用这个特性,可以统计重复元素的个数
    public class Main {
    public static void main(String args[]) {
    TreeMap<String, Integer> countMap = new TreeMap<String, Integer>(); //创建TreeMap对象,键key为String类型,用来存放元素;元素value为Integer类型,用来存放元素个数的值
    Scanner sc = new Scanner(System.in);
    //while (sc.hasNext()) {
    for(int i=0;i<5;i++){ //输入五个字符串
    String word = sc.next();
    if(! countMap.containsKey(word)){ //判断TreeMap对象中是否包含刚刚输入的值
    countMap.put(word, 1);//若不包含,则在TreeMap对象键值插入输入的值,对应元素记录为1 }
    else{ //若有重复,则在TreeMap对象键值插入对应的值,返回键所对应的值加一
    countMap.put(word,countMap.get(word)+1); }
    }
    for (String s : countMap.keySet()) { //遍历TreeMap对象输出
    System.out.println(s + “=” + countMap.get(s));
    }
    }
    }

    展开全文
  • * @Description 统计list集合中重复的数据 * @Author Luffy * @Date 2020/09/29 */ public static void listRepeatTest() { List<String> list = new ArrayList<>(); list.add("a"); list.add...
    /**
    * @Description 统计list集合中重复的数据
    * @Author Luffy
    * @Date 2020/09/29
    */
    public static void listRepeatTest() {
    	List<String> list = new ArrayList<>();
    		list.add("a");
    		list.add("a");
    		list.add("a");
    		list.add("b");
    		list.add("c");
    		list.add("c");
    		list.add("d");
    		list.add("d");
    		
    		Map<String,Integer> map = new HashMap<>();
    		for(String str:list){
    		    //计数器,用来记录数据的个数
    		    Integer i = 1;
    		    if(map.get(str) != null){
    		        i=map.get(str)+1;
    		    }
    		    map.put(str,i);
    		}
    		System.out.println("list中各数据的存在个数:"+map.toString());
    
    		System.out.print("重复的数据为:");
    		for(String str:map.keySet()){
    		    if(map.get(str) > 1){
    		        System.out.print(str+" ");
    		    }
    		}
    }
    

    结果如下:
    在这里插入图片描述

    展开全文
  • 统计数组中重复元素个数

    千次阅读 2019-08-07 11:03:54
    * 循环统计数组或集合中重复元素个数 * @param args */ public static void main(String[] args) { Map<String, Integer> map = new HashMap<String, Integer>(); Stri...
    /**
         * 循环统计数组或集合中的重复元素个数
         * @param args
         */
        public static void main(String[] args) {
            Map<String, Integer> map = new HashMap<String, Integer>();
            String[] ss = {"白","黑","绿","白"};
            for (int i = 0; i < ss.length; i++) {
    
                if (map.get(ss[i]) != null) {
                    Integer num = (Integer) map.get(ss[i]);
                    num++;
                    map.put(ss[i], num);
    
                } else {
                    map.put(ss[i], 1);
                }
            }
            System.out.println(map);
        }

     

    转载于:https://www.cnblogs.com/mengzw/p/3753248.html

    展开全文
  • 刚刚上网搜了一下如何用python统计...原理就是set集合中不允许重复元素出现。 以上这篇python 统计列表不同元素的数量方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
  • 主要介绍了Python实现判断给定列表是否有重复元素的方法,列举了2种列表判断方法,涉及Python针对列表的遍历、统计、判断等相关操作技巧,需要的朋友可以参考下
  • Java文件实现了统计数组相同元素个数的功能以及统计数组小于某个元素的所有元素的数量功能
  • 1.代码如下: ... import java.util.*; import java.util.stream.Collectors; /** * @author:wfj * @since: 2020/6/11 ...public class getSameElement { ... //获取list集合里出现的重复元素及出现次数
  • 一个list集合,不确定长度,其中的元素包括名称、数量两项。按名称处理,将名称相同的数量相加进行统计,但是这么写好像有问题啊,求指点 ``` List<QuestionTypeSettingVO> qtSettings; QuestionTypeSettingVO ...
  • 今天小编就为大家分享一篇Java判断List相同值元素的个数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • scala从集合中提取不重复元素

    千次阅读 2017-08-01 09:07:28
     你有一个集合,内部有很多重复元素,你想要把这些重复的元素只保留一份。 Solution  使用Distinct方法: scala> val x = Vector(1, 1, 2, 3, 3, 4) x: scala.collection.immutable.Vector[Int] =...
  • List集合统计相同名称的元素数量

    千次阅读 2018-08-17 15:16:49
    package com.it313.cgs.back.service; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; public class A { ... * @pa...
  • 最近也遇到了查询集合中出现重复数据,并且要知道出现重复数据的次数,所以就记录一下,代码是一个方法,直接传入集合就可以进行测试: /** * 查询list集合中出现重复的数据及次数 */ private void RepeatDate...
  • java统计List集合元素出现的次数

    千次阅读 2019-12-17 11:33:51
    for (int i = 0; i < listStatue.size(); i++) { Collections.frequency(listStatue, listStatue.get(i))); } frequency方法实现原理是循环,大数据不建议使用。 ...
  • vfp统计字符串某字符重复出现次数,可以扩展到统计vfp数据库表某字段某字符重复出现的次数。
  • 统计一个数组多少重复元素

    千次阅读 2017-09-30 14:15:42
    原数组存入set()数组,原数组长度减去set数组长度即为原数组种重复元素的个数 b=set( tmp) len( tmp)-len(b)为数组 tmp元素的重复的个数。 方法2:使用collections种的defaultdict方法,创建字典(传入...
  • java查找数组中重复元素重复元素的个数 本人前几天面试,被问到一个简单的问题:查找数组中重复元素重复元素的个数 当时回答的很不完美,面试官说可以用map一层循环就可以解决 ,当时没有想明白,事后想了一下,...
  • 统计List元素重复出现的次数

    万次阅读 多人点赞 2015-11-18 14:39:29
    System.out.println("\n例子 3 - 用Map统计每个元素出现的频率"); Map map = new HashMap (); for (String temp : list) { Integer count = map.get(temp); map.put(temp, (count == null) ? 1 : count + ...
  • 定义一个100元素集合,包含A-Z List<String> list = new LinkedList<>(); for (int i =0;i<100;i++){ list.add(String.valueOf((char)('A'+Math.random()*('Z'-'A'+1)))); } System.out.println...
  • 统计字符串中重复元素出现的次数

    千次阅读 2019-04-24 13:26:28
    首先输入一个字符串,然后使用toCharArray()方法将其转换成字符数组,后遍历数组,创建HashMap集合存放字符和过元素出现的次数、、、 public class TestDemo { public static void main(String[] args) { ...
  • COUNTIF函数,SUMPRODUCT函数, COUNTIF(range,criteria),第一个参数表示范围,可以是B2:B16,第二个参数表示值,可以...公式解释:COUNTIF(B2:B16,B2:B16)将对B2:A16单元格区域的每个数据进行个数统计,也就是B2:
  • 然后将重复元素取出储存在结果,剩余的元素组成一个新的数组,进行第一次的运算再次得到重复的元素。以此类推直到数组的元素被删除完,我们就得到了最后的结果。 下面是代码: private static void getNum() ...
  • python统计list元素出现次数

    万次阅读 2019-04-12 10:47:56
    利用字典统计 利用pandas统计 利用Counter类统计 1:方法一 data = [1,2,3,4,2,3,4,2,3,4,5,6,6,4,4,5,6,7,4] data_dict = {} for key in data: data_dict[key] = data_dict.get(key,0) + 1 print("data_dict:",...
  • 对于List重复元素的,也可以利用JDK 8的流来完成。 public static void main(String[] args) { List&amp;lt;String&amp;gt; parameterList = Arrays.asList(&quot;1&quot;,&quot;2&...
  • 主要使用的是Collectors工具类和流式集合搭配使用进行统计操作 demo演示: import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class ...
  • List的JDK1.8的新特性 stram流进行过滤查重 List01.stream().filter(List02::contains).count();
  • 如果需要求两个集合之间的交集: 1. 并查集 2. 排序+双指针
  • 找出列表list重复元素

    千次阅读 2020-10-23 16:12:11
    找出列表list重复元素: from collections import Counter #引入Counter a = [29, 15, 57, 12, 15, 29] b = dict(Counter(a)) print(list(b)) print ([key for key,value in b.items()if value > 1]) #只展示...
  • 本文向大家介绍稍许算法的实现:关于如何去除数组重复元素,并比较了两种算法之间的效率.全部代码在Xcode的Playground实现,直观明了,适合Swift学习入门童鞋观赏. 有个前提 如题,很多童鞋立即给出解决方法,无...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 78,928
精华内容 31,571
关键字:

统计集合中重复的元素