利用Stream流List<实体类>转List<String>或List<String>转List<String>

简介: 利用Stream流List<实体类>转List<String>或List<String>转List<String>

   利用Stream流,把List<实体类>转List<String>,或原本List<String>转变成自己需要的List<String>。下面是代码

 .distinct()是去重

 .map()里面写的是需要取出来的字段

 .filter()里面是过滤条件,true或者false

 .collect(Collectors.toList()),这个query是一个Java代码片段,使用了Java 8中的Stream API和Collectors.toList()方法,该方法用来将Stream中的元素收集到一个List中

 

package Tool;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
import AnZhong.Student;
public class convertMap {
  public static void main(String[] args) {
    List<Student> listStudent = new ArrayList<>();
    List<String> numberList = Arrays.asList("一","二","三","四","五");
    Student student = new Student();
    student.setAge("11");
    student.setName("万能C");
    student.setId(1);
    listStudent.add(student);
    Student student2 = new Student();
    student2.setAge("11");
    student2.setName("admin");
    student2.setId(2);
    listStudent.add(student2);
    Student student3 = new Student();
    student3.setAge("13");
    student3.setName("Jack");
    student3.setId(3);
    listStudent.add(student3);
    Student student4 = new Student();
    student4.setAge("16");
    student4.setName("Jack");
    student4.setId(3);
    listStudent.add(student4);
      /***
     * -- .distinct()是去重
     * -- .map()里面写的是需要取出来的字段
     * -- .filter()里面是过滤条件,true或者false
     * -- .collect(Collectors.toList()),这个query是一个Java代码片段,
     * 使用了Java 8中的Stream API和Collectors.toList()方法。
     * 该方法用来将Stream中的元素收集到一个List中
     * ***/
    List<String> list2 = listStudent.stream().map(s -> s.getName()).distinct().collect(Collectors.toList());
    //.添加过滤,取年龄不等于13的名字
    List<String> list3 = listStudent.stream().filter(f -> !f.getAge().equals("13")).map(s -> s.getName()).collect(Collectors.toList());
    //在已有的List修改里面的值,转成一个新的List<String>
    List<String> list4 = numberList.stream().map(number -> "数字 " + number + "L").collect(Collectors.toList());
    System.out.println("list2(去重)  "+list2);
    System.out.println("list3(添加过滤条件):  "+list3);
    System.out.println("list4(修改里面内容):  "+list4);
  }
}

输出结果:

相关文章
|
4月前
|
消息中间件 NoSQL Java
别再用 Redis List 实现消息队列了,Stream 专为队列而生
别再用 Redis List 实现消息队列了,Stream 专为队列而生
69 0
|
4月前
|
数据处理
利用Stream流将取到的对象List<对象>形式数据进行分组统计转变成Map<分组条件,数量统计>形式
利用Stream流将取到的对象List<对象>形式数据进行分组统计转变成Map<分组条件,数量统计>形式
24 0
如何使用Stream流将List转换为Map
如何使用Stream流将List转换为Map
|
2月前
|
Java API
java 对象list 使用stream进行过滤
在Java中,你可以使用Stream API对对象列表进行过滤。假设你有一个`List<MyObject>`,并且你想根据某些条件过滤出特定的对象。以下是一个示例: ```java import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<MyObject> myObjects = ... // 初始化你的对象列表 List<MyObject> filter
|
2月前
|
存储 NoSQL Java
【Redis】1、学习 Redis 的五大基本数据类型【String、Hash、List、Set、SortedSet】
【Redis】1、学习 Redis 的五大基本数据类型【String、Hash、List、Set、SortedSet】
54 0
|
4月前
|
前端开发 Java 测试技术
把List<对象>转变<String,List<对象>>形式,k为判断的值,v为k重复的数据。
把List<对象>转变<String,List<对象>>形式,k为判断的值,v为k重复的数据。
21 0
|
4月前
|
存储 Java API
利用Stream流将取到的对象List<对象>形式数据进行分组统计转变成Map<分组条件,数量统计>形式
利用Stream流将取到的对象List<对象>形式数据进行分组统计转变成Map<分组条件,数量统计>形式
27 0
|
21天前
|
Java API 索引
Java基础—笔记—String篇
本文介绍了Java中的`String`类、包的管理和API文档的使用。包用于分类管理Java程序,同包下类无需导包,不同包需导入。使用API时,可按类名搜索、查看包、介绍、构造器和方法。方法命名能暗示其功能,注意参数和返回值。`String`创建有两种方式:双引号创建(常量池,共享)和构造器`new`(每次新建对象)。此外,列举了`String`的常用方法,如`length()`、`charAt()`、`equals()`、`substring()`等。
15 0
|
2月前
|
Java
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
25 0
|
2月前
|
Java
Java String split()方法详细教程
Java String split()方法详细教程
25 0