Stream的定义定义和基本概念
学了知识不运用,等于耕地不播种,话不多说,我们开始操作
foreach遍历集合(排除集合中的某一元素)(配合filter)
基础代码模型
public class TestList {
public static void main(String[] args) {
ArrayList<User> list = new ArrayList<>();
list.add(new User(1,"zhangsan1"));
list.add(new User(2,"zhangsan2"));
list.add(new User(3,"zhangsan3"));
list.add(new User(4,"zhangsan4"));
}
}
//实体类
public class User {
private int id;
private String username;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public User(int id, String username) {
this.id = id;
this.username = username;
}
public User(){}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
'}';
}
}
list.stream().forEach(System.out::println);//先创建流,再遍历打印
输出结果
User{id=1, username='zhangsan1'}
User{id=2, username='zhangsan2'}
User{id=3, username='zhangsan3'}
User{id=4, username='zhangsan4'}
List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
numbers.stream().distinct().forEach(System.out::println);
输出结果
3
2
7
5
list.stream().map(User::getUsername).forEach(System.out::println);
输出结果
zhangsan1
zhangsan2
zhangsan3
zhangsan4
list.stream().filter(User->User.getUsername()!="zhangsan1").forEach(System.out::println);
输出结果
User{id=2, username='zhangsan2'}
User{id=3, username='zhangsan3'}
User{id=4, username='zhangsan4'}
list.stream().map(User::getUsername).collect(Collectors.toList()).forEach(System.out::println);
输出结果
zhangsan1
zhangsan1
zhangsan2
zhangsan3
zhangsan4
map 方法用于映射每个元素到对应的结果
list.stream().map(user->user.getId()+1);//把list中的每一个元素对应到user或User或任意的变量
list.stream().map(User->User.getId()+1);
输出结果
?
2
3
4
5
filter 方法用于通过设置的条件过滤出元素
List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
List<String> filtered = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());//过滤出元素不为空的
输出结果
[abc, bc, efg, abcd, jkl]
?
.NET Core3.1发布 我们很高兴宣布.NET Core 3.1的发布。实际上,这只是对我们两...
文章目录 概念模型在Java中成为实体类(javaBean) 一对多双向关联 案例如下: 多方...
这个月 10 号,赛博朋克 2077 解禁,世超周围的小伙伴有一个算一个,全部一头扎...
一、微信支付 1、业务平台介绍 1微信公众平台 微信公众平台是微信公众账号申请入...
demo: function FCKeditor_OnComplete( editorInstance ) { editorInstance.Edi...
文章目录 前言 一、面向对象基础 1、面向对象思想 2、三大特性 3、类与对象 4、...
源代码: 脚本一: !DOCTYPE htmlhtmlheadtitleAuto-fill Form Fields/titlelink...
原计划过年的时候写, 迟迟推到了现在; 却依旧无从下笔; 先看看20年的计划吧 驾照...
前言 单元测试对我们的代码质量非常重要。很多同学都会对业务逻辑或者工具方法写...
本节简介(异步链接服务器对象)XMLHTTPRequest以及AJAX的简介。 AJAX即“Asynch...