创建一个方法,参数1:List类型,传入可能为null;参数2:int类型;基于stream操
答案:1 悬赏:50 手机版
解决时间 2021-01-30 08:50
- 提问者网友:且恨且铭记
- 2021-01-30 06:01
创建一个方法,参数1:List类型,传入可能为null;参数2:int类型;基于stream操
最佳答案
- 五星知识达人网友:杯酒困英雄
- 2021-01-30 06:21
这是Java8的开始的新API ,stream 流操作
首先创建一个User类,然后创建一个Test 测试类
//核心代码如下
public static List filterByLevel(List list, int level) {
return list==null?new ArrayList<>():list.stream().filter(u->u.getLevel()==2).collect(Collectors.toList());
}
完整参考代码和注释如下
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
// 用户类
class User {
private String name;// 名
private int level;// 等级
public User() { //无参数构造器
}
public User(String name, int level) {//有参数构造器
this.name = name;
this.level = level;
}
//方便测试,重写toString方法
public String toString() {
return "User [name=" + name + ", level=" + level + "]";
}
//----下面是属性的setter和getter----
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
}
// 测试类
public class Test {
public static void main(String[] args) {
List list = new ArrayList();
list.add(new User("张三", 1));
list.add(new User("李四", 2));
list.add(new User("王五", 2));
list.add(new User("燕小六", 3));
list.add(new User("田七", 2));
List resultList = filterByLevel(list, 2);
System.out.println(resultList);
}
//题目要求的方法
public static List filterByLevel(List list, int level) {
if (list == null) {// 如果list为null .返回一个空的集合
return new ArrayList();
}
// 集合进行流处理. 筛选level为2的元素,并且把满足条件的结果收集起来
return
list.stream()
.filter(u -> u.getLevel() == 2)
.collect(Collectors.toList());
}
}
首先创建一个User类,然后创建一个Test 测试类
//核心代码如下
public static List
return list==null?new ArrayList<>():list.stream().filter(u->u.getLevel()==2).collect(Collectors.toList());
}
完整参考代码和注释如下
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
// 用户类
class User {
private String name;// 名
private int level;// 等级
public User() { //无参数构造器
}
public User(String name, int level) {//有参数构造器
this.name = name;
this.level = level;
}
//方便测试,重写toString方法
public String toString() {
return "User [name=" + name + ", level=" + level + "]";
}
//----下面是属性的setter和getter----
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
}
// 测试类
public class Test {
public static void main(String[] args) {
List
list.add(new User("张三", 1));
list.add(new User("李四", 2));
list.add(new User("王五", 2));
list.add(new User("燕小六", 3));
list.add(new User("田七", 2));
List
System.out.println(resultList);
}
//题目要求的方法
public static List
if (list == null) {// 如果list为null .返回一个空的集合
return new ArrayList
}
// 集合进行流处理. 筛选level为2的元素,并且把满足条件的结果收集起来
return
list.stream()
.filter(u -> u.getLevel() == 2)
.collect(Collectors.toList());
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯