首页 > 编程语言 >Java List常用方法Stream()简要总结&生成的List去重

Java List常用方法Stream()简要总结&生成的List去重

时间:2024-03-04 16:27:16浏览次数:25  
标签:map Java Stream List list add numbers JavaBean

Java中,ArrayList应该是比较常用的一个对象了;那么它的stream()方法大家了解过吗?如果可以熟练使用stream()方法,就可以方便地获取list中元素的某个特定字段、对list中的元素进行筛选、或者把list转成map。

参考:https://blog.csdn.net/BHSZZY/article/details/122860048

如何获取不重复的集合?Collections?FlatMap?Set?HashSet?

 

(1) list.stream().map().collect()方法,可以获取list中JavaBean的某个字段,转成一个新的list。

(2) list.stream().filter().map().collect()方法,可以对list中的JavaBean进行筛选,保留符合条件的JavaBean,然后将JavaBean中的某个字段,转成一个新的list。

(3) list.stream().collect()方法,可以把list转为map,可以指定list的中的JavaBean的某个字段或JavaBean本身为map的key或value。(或者根据情况自定义map的key与value)

(4) list.stream().filter().collect()方法,可以先筛选出list中符合条件的JavaBean,然后把list转为map,可以指定list的中的JavaBean的某个字段或JavaBean本身为map的key或value。(或者根据情况自定义map的key与value)

 

如何给生成的List对象去重??把List对象赋给Set对象?

import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        
        // 添加元素到列表中
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);
        numbers.add(6);
        numbers.add(7);
        numbers.add(8);
        numbers.add(9);
        numbers.add(10);
        numbers.add(10); // 重复的数字
        
        System.out.println("原始列表:" + numbers);
        
        Set<Integer> set = new HashSet<>(numbers); // 将列表转换为Set集合
        List<Integer> distinctNumbers = new ArrayList<>(set); // 再将Set转换为List
        
        System.out.println("去重后的列表:" + distinctNumbers);
    }
}

参考:百度AI

标签:map,Java,Stream,List,list,add,numbers,JavaBean
From: https://www.cnblogs.com/2008nmj/p/18052024

相关文章

  • 接口测试-json文件读取报java.lang.ClassCastException: java.util.LinkedHashMap can
    问题原因:从json文件中读取的信息为hashMap,与预期(类对象)格式不匹配,无法解析。问题分析:json文件包含一个json串列表,代表向接口中传递不同的参数组合,通过下面方法读取json文件信息,反序列化成类对象,并把这些赋值的对象进行接口请求参数进行传递。publicList<T>getReadValuesLi......
  • 使用 Java 在Excel中创建下拉列表
    下拉列表(下拉框)可以确保用户仅从预先给定的选项中进行选择,这样不仅能减少数据输入错误,还能节省时间提高效率。在MSExcel中,我们可以通过“数据验证”提供的选项来创建下拉列表,但如果要在Java程序中通过代码实现这一功能,可能需要借助一些第三方库。本文将分享两种使用免费Java库......
  • JAVA面向对象-第二弹
    Java中,所有的类,都默认直接或者间接继承object封装◆该露的露,该藏的藏◆我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。封装(数据的隐藏)◆通常,应禁止直接访问一个对象中数据的实际表示,而应......
  • 有一个子组件DataList,然后在父组件中引入,并在父组件引入中的DataList标签上设置style
    有一个子组件DataList,然后在父组件中引入,并在父组件引入中的DataList标签上设置style样式,能生效吗?在React中,父组件可以通过props将样式传递给子组件,并在子组件内部应用这些样式。但直接在父组件引用子组件的地方设置style属性通常不会生效,因为React的JSX语法并不支持这种写法。......
  • 黑马程序员JavaWeb学习笔记-过滤器
    过滤器--Filter过滤器Filter快速入门Filter拦截路径过滤器链Filter——流程importcom.alibaba.fastjson.JSONObject;importcom.itheima.pojo.Result;importlombok.extern.slf4j.Slf4j;importorg.springframework.util.StringUtils;importjavax.servlet.*;im......
  • 黑马程序员JavaWeb学习笔记-拦截器
    拦截器--Interceptor--快速入门@Component注解交给ioc容器管理--注册配置拦截器@Configuration注解用来标识当前是Spring当中的一个配置类//Interceptor拦截所有("/**")//Filter拦截所有("/*")//WebConfig需要在包下新建一个config包与controller同级//.excl......
  • 黑马程序员JavaWeb学习笔记-文件上传
    文件上传https://www.bilibili.com/video/BV1m84y1w7Tb/?p=150&spm_id_from=pageDriver&vd_source=62f4901d4d947272c439194b87ec6698当报错500时,服务端出现错误,因为默认最大为1M在application.properties里面修改文件上传的几个函数本地存储Controller层的代码import......
  • 黑马程序员JavaWeb学习笔记-登陆login
    登陆loginlogin是登陆业务方法,mapper接口是持久层,用来操作数据库的,用业务方法名不合适三层架构PostMan测试登陆校验http协议是无状态的,下次请求不会携带上次请求的数据,两次请求是独立的Cookie前后端分离项目中前端页面和后段接口部署在不同的服务器上,所以他们的协议......
  • Javascript Object 中,isExtensible/isSealed/isFrozen 的对比
    目录isExtensibleisSealedisFrozen示意图isExtensibleextensibleobject的定义:theycanhavenewpropertiesaddedtothem,andtheir[[Prototype]]canbere-assigned.Anobjectcanbemarkedasnon-extensibleusingoneofObject.preventExtensions(),Object.seal......
  • 黑马程序员JavaWeb学习笔记-JavaScript
    JavaScript--JavaScript引入方式--书写语法--输出语句window可以省略--变量var特点1:作用域比较大,全局变量特点2:可以重复定义--数据类型原始数据类型相当于java中基础数据类型alert(parseInt("12"));//12alert(parseInt("12A45"));//12alert(parseInt("A4......