利用java语言中的stream流操作判断一个数组中是否有重复元素

利用stream判断一个数组中是否有重复元素

前言

判断数组中是否有重复元素可以说是每一个编程语言初学者都会遇到的题目,常见的各种搜索算法本文不做赘述了,我们这次介绍的是利用java语言中特有的stream流操作来判断通用类型数组是否包含重复元素。

功能实现

   public static <T> boolean isDunplicate(T[] inputs){
     long count= Arrays.stream(inputs).distinct().count();
     if(count==inputs.length){
         return false;
     }
     else {
         return true;
     }
  }

首先我们声明一个泛型方法:

public static <T> boolean isDunplicate(T[] inputs)

表明该方法适用于所有类型的数组。
方法体:

      long count= Arrays.stream(inputs).distinct().count(); 
     if(count==inputs.length){
         return false;
     }
     else {
         return true;
     }

利用Arrays自带的静态方法stream(array),将数组转换为stream,然后再去重并统计去重后的元素数量。将去重后的元素数量与原数组长度进行对比,如果两者相等说明数组中并无重复元素,如果两者大小不同,则说明原数组存在重复元素。

总结

该方法是依赖于java自带的stream流操作进行处理,代码的重构性一般,但可以适用于所有数据类型数据,其通用性还是不错的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值