利用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);
  }
}

输出结果:

相关文章
|
6月前
|
消息中间件 负载均衡 NoSQL
Redis系列学习文章分享---第七篇(Redis快速入门之消息队列--List实现消息队列 Pubsub实现消息队列 stream的单消费模式 stream的消费者组模式 基于stream消息队列)
Redis系列学习文章分享---第七篇(Redis快速入门之消息队列--List实现消息队列 Pubsub实现消息队列 stream的单消费模式 stream的消费者组模式 基于stream消息队列)
78 0
|
2月前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
29 3
|
3月前
|
存储 JSON NoSQL
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
这篇文章是关于Redis基本数据结构的学习笔记,包括了String、Hash、Set、List和SortedSet的介绍和常用命令。文章解释了每种数据结构的特点和使用场景,并通过命令示例演示了如何在Redis中操作这些数据结构。此外,还提供了一些练习示例,帮助读者更好地理解和应用这些数据结构。
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
|
4月前
|
XML Java API
List与String相互转化方法汇总
本文汇总了List与String相互转化的多种方法,包括使用`String.join()`、`StringBuilder`、Java 8的Stream API、Apache Commons Lang3的`StringUtils.join()`以及Guava的`Joiner.on()`方法实现List转String;同时介绍了使用`split()`方法、正则表达式、Apache Commons Lang3的`StringUtils.split()`及Guava的`Splitter.on()`方法实现String转List。
151 1
List与String相互转化方法汇总
|
5月前
|
XML Java API
List与String相互转化的方法有哪些
摘要:本文概述了Java中List转换为String及反之的多种策略。使用`String.join()`可简洁地连接List元素;`StringBuilder`提供灵活控制;Java 8 Stream API收集器简化操作;Apache Commons Lang3的`StringUtils.join()`和Guava的`Joiner.on()`支持外部库的高效转换。
|
5月前
|
文字识别 Java
文本,文字识别07,SpringBoot服务开发-入参和返回值,编写接口的时候,要注意识别的文字返回的是多行,因此必须是List集合,Bean层,及实体类的搭建
文本,文字识别07,SpringBoot服务开发-入参和返回值,编写接口的时候,要注意识别的文字返回的是多行,因此必须是List集合,Bean层,及实体类的搭建
|
6月前
|
Java API
将`List<String>`转换为`List<Long>`
将`List<String>`转换为`List<Long>`
|
6月前
|
Java
java操作list使用Stream
java操作list使用Stream
|
7月前
|
NoSQL Java Redis
redis-学习笔记(string , hash , list , set , zset 前置知识)
redis-学习笔记(string , hash , list , set , zset 前置知识)
37 0
redis-学习笔记(string , hash , list , set , zset 前置知识)
|
7月前
|
NoSQL Java Unix
Redis基础操作 String List
Redis基础操作 String List
44 0