通过stream去重_Java 8 Stream.distinct() 列表去重的操作

在这篇文章里,我们将提供Java8 Stream distinct()示例。 distinct()返回由该流的不同元素组成的流。distinct()是Stream接口的方法。

distinct()使用hashCode()和equals()方法来获取不同的元素。因此,我们的类必须实现hashCode()和equals()方法。

如果distinct()正在处理有序流,那么对于重复元素,将保留以遭遇顺序首先出现的元素,并且以这种方式选择不同元素是稳定的。

在无序流的情况下,不同元素的选择不一定是稳定的,是可以改变的。distinct()执行有状态的中间操作。

在有序流的并行流的情况下,保持distinct()的稳定性是需要很高的代价的,因为它需要大量的缓冲开销。如果我们不需要保持遭遇顺序的一致性,那么我们应该可以使用通过BaseStream.unordered()方法实现的无序流。

1. Stream.distinct()

distinct()方法的声明如下:

Stream distinct()

它是Stream接口的方法。在此示例中,我们有一个包含重复元素的字符串数据类型列表

DistinctSimpleDemo.java

package com.concretepage;

import java.util.Arrays;

import java.util.List;

import java.util.stream.Collectors;

public class DistinctSimpleDemo {

public static void main(String[] args) {

List list = Arrays.asList("

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562449.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Java学院网页的搜索引擎设计和实现

项目运行部署: 首先导入项目MyHeritrix 然后把jar包加到项目中运行类Heritrix访问地址http://localhost:8080/index.jsp创建一个job 6.然后写name和你自己的url 7.然后修改modules,只需要修改select writes和select post processors 后面导入第二个程序…

[LeetCode] 41. 缺失的第一个正数(Java)

[LeetCode] 41. 缺失的第一个正数(Java) 1.题目描述 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1:输入:nums [1,2,0] 输出&#x…

基于java springboot+mybatis学生学科竞赛管理管理系统设计和实现

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅 欢迎点赞 👍 收藏 ⭐留言 &#x1f…

[LeetCode] 274. H 指数(Java)

[LeetCode] 274. H 指数(Java) 1.题目描述 给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数”,一名科研人员的 h指…

layui下拉框的高度_LAYUI select 下拉框得高度

UITextFieldUITextFieldDemo 效果 特点 1.有效定制键盘的样式 2.处理键盘对文本框的遮挡 用法 1.导入文件(UITextFieldCreateInputAccessoryView.h/.m) ...[地图SkyLine二次开发]关于IE内存限制问题(1G)相信很多人也遇到过同样的问题,地…

基于JavaWeb SSM mybatis 学生信息管理系统设计和实现以及文档报告

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅 欢迎点赞 👍 收藏 ⭐留言 &#x1f…

[LeetCode] 453. 最小操作次数使数组元素相等(Java)

[LeetCode] 453. 最小操作次数使数组元素相等(Java) 1.题目描述 给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。 示例 1:输入:nums [1,2,3] 输出:3 解释&#xff…

python打log_python根据文件大小打log日志

本文实例讲述了python根据文件大小打log日志的方法,分享给大家供大家参考。具体方法如下:import globimport loggingimport logging.handlerslog_filenamelogging_rotatingfile_example.out# set up a specific logger with our desired output levelmy_…

基于Java swing ATM简单的银行管理系统

项目介绍: 本项目是使用Java swing开发,可实现ATM系统/银行系统的基本登陆、转账、查询余额、存取款业务。界面设计比较简介 项目结构: 运行截图: 相关系统设计实现推荐: 基于java springbootmybatis电影售票网站管…

[LeetCode] 665. 非递减数列(Java)

[LeetCode] 665. 非递减数列(Java) 1.题目描述 给你一个长度为 n 的整数数组 nums &#xff0c;请你判断在 最多 改变 1 个元素的情况下&#xff0c;该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的&#xff1a; 对于数组中任意的 i (0 < i < n-2)&am…

林辉高考机器人_机器人2019年参加高考 力争考上一本

机器人2019年参加高考力争考上一本2019年的文科高考生&#xff0c;即将迎来一位特殊的竞争对手——高考机器人。该款机器人包括三个独立的人工智能程序&#xff0c;分别应考数学、语文和文综。研发团队立下目标&#xff0c;将在全封闭环境中、有监考老师和公证员的情况下&#…

基于javaweb(springboot+mybatis)网站建设服务管理系统设计和实现以及文档报告设计

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 文末获取源码联系方式 &#x1f4dd; 主要技…

[LeetCode]283. 移动零(Java)

[LeetCode]283. 移动零(Java) 1.题目描述 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1:输入: nums [0,1,0,3,12] 输出: [1,3…

电脑怎么重置host_电脑又双叒叕卡顿?究竟要“重装”还是“重置”?原来这区别大了...

"啊!!!"随着一声惨叫&#xff0c;名侦探韩博士决定去一探究竟&#xff01;原来是一小伙伴们的电脑又双叒叕卡顿了&#xff0c;连文件都来不及保存电脑就直接"歇菜"了。作为21世界最佳优秀青年代表&#xff0c;望着这一脸生无可恋的小伙伴&#xff0c;韩博士…

[LeetCode] 118. 杨辉三角(Java)

[LeetCode] 118. 杨辉三角(Java) 1.题目描述 给定一个非负整数 *numRows&#xff0c;*生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1:输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示例…

基于javaweb(springboot+mybatis)宠物医院预约管理系统设计和实现以及论文报告

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345;文末获取源码联系方式 &#x1f4dd; 项目…

python 变量类型list_Python基础变量类型——List浅析-阿里云开发者社区

Python使用list一、listPython内置的一种数据类型是列表&#xff1a;list。list是一种有序的集合&#xff0c;可以随时添加和删除其中的元素。比如&#xff0c;列出班里所有同学的名字&#xff0c;就可以用一个list表示&#xff1a;classmates [Michael, Bob, Tracy]print(cla…

Frp内网穿透保姆级教程 windows内网穿透

Frp内网穿透保姆级教程 windows内网穿透 准备工作 一台具有公网ip的云服务器(我的是ubuntu)frp程序 流程 将frps放到具有公网ip的服务器上将frpc放到需要内网穿透机器上&#xff0c;这里演示的是windows主机配置文件,然后启动 步骤 登陆服务器 ssh ubuntuip 在服务端下载…

基于javaweb(springboot+mybatis)网上家具商城项目设计和实现以及文档报告

具体功能模块&#xff1a; (1) 用户注册和登录登录功能&#xff1a; ①用户的注册功能 : 访问网站的人根据网站的提示注册自己的账户 ②用户的登录功能 : 用户可以输入用户名和密码进行登录操作&#xff0c;当没有该账户的时 候&#xff0c;提示错误&#xff0c;用户必须通过…

meta标签是什么

meta标签是什么 meta即元数据(matadata)meta是HTML语言head区的一个辅助性标签,位于html文档头部的head标签和title标签,不包含任何内容.meta共有两个属性,http-equiv和name属性 meta标签的作用 针对搜索引擎和更新频度的描述 关键词 文件的最后修改时间 作者 以及其他元数据…