我有以下代码
public class TeeingCollector {
public static void main(String[] args) {
// var strs = List.of("abc");
var dividedStrings = Stream.of("foo", "hello", "bar", "world")
.collect(Collectors.teeing(
Collectors.filtering((String s) -> s.length() <= 3, Collectors.toList()),
Collectors.filtering((String s) -> s.length() > 3, Collectors.toList()),
List::of
));
System.out.println(dividedStrings);
}
private static class Employee {
boolean isActive;
public Employee(boolean isActive) {
this.isActive = isActive;
}
public boolean isActive() {
return isActive;
}
@Override
public String toString() {
return "Employee{" +
"isActive=" + isActive +
'}';
}
}
private …Run Code Online (Sandbox Code Playgroud) 我试图使用java流和集合从对象列表中获取分组,计数和求和。我不确定如何达到期望的结果。
输入模型
String month;
BigDecimal salary;
String department;
String noOfEmp;
Run Code Online (Sandbox Code Playgroud)
InputModel [(May,100,IT,10),(June,300,IT,7),(July,300,IT,7),(May,1000,HR,5),(June,300,HR,7 ),(7月600,HR,5)]
输出模型
String month
BigDecimal salary
String noOfEmp
Run Code Online (Sandbox Code Playgroud)
预期输出 OutputModel [(May,1100,15),(June,600,14),(July,900,12)]
我尝试了下面的代码,但它返回了group by和Count。
Map<String, Integer> result= inputModels.parallelStream().collect(Collectors.groupingBy(InputModel::getMonth,
LinkedHashMap::new, Collectors.summingInt(InputModel::getNoOfEmp)));
Run Code Online (Sandbox Code Playgroud)
提前致谢!!!
当我有两个同名方法时,如何在JAVA中指定lambda表达式?
JAVA8
package com.gsy;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.ResourceBundle;
public class EmailProperty {
public static void main(String args[]) {
}
interface qqq{
int a(int a);
}
interface ppp{
int a(int b);
}
class test{
int a;
int b;
int testa(int a,int b,qqq qqq){
return 1;
}
int testa(int a,int b,ppp ppp){
return 1;
}
}
public EmailProperty() {
test aaa = new test();
aaa.a = …Run Code Online (Sandbox Code Playgroud) 假设我有一个pojo Medicine,
class Medicine{
private String xmedicine;
private String ymedicine;
private String zmedicine;
//getter and setter here....
}
Run Code Online (Sandbox Code Playgroud)
如果Medicine不为null,则用于收集药物的API下方。
public List<Map<String, Object>> gettMedicine(Medicine medicine) {
List<Map<String, Object>> detailsList = null;
List<Integer> list = new ArrayList<>();
if(null != medicine.getXmedicine()){
list.add(medicine.getXmedicine());
}
if(null != medicine.getYmedicine()){
list.add(medicine.getYmedicine());
}
if(null != medicine.getZmedicine()){
list.add(medicine.getZmedicine());
}
if(!CollectionUtils.isEmpty(list)) {
detailsList = //calling other API to get details from list;
}
return detailsList;
}
Run Code Online (Sandbox Code Playgroud)
最好在Optional这里使用Java 8 来消除,NullPointerException因为我有多个空检查使我的代码样本化。
如果是,那么您能建议我Optional在这里使用吗?