我有以下列表->
Name Age Company Salary
A 21 comp_A 100
A 21 comp_A
A 21 comp_A
B 22 comp_B
B 22 comp_B 200
C 23 comp_C 300
D 24 comp_D
E 25 comp_E
该逻辑将获取那些满足此条件的记录,也将获取那些不满足此条件的记录,如D/E的最后两行,雇员没有为工资定义任何值,我也应该获取这些值。
将列表转换为流,移除重复项并收集回新列表。您有两个选项:distinct(按所有字段删除重复)和distinctByKey(根据特定条件或仅某些字段删除重复)
https://howtodoinjava.com/java8/java-stream-distinct-examples/
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class FindR {
public static void main(String[] args)
{
ArrayList<Employee> l = new ArrayList();
l.add(new FindR().new Employee("A",21,"comp_A",100.0));
l.add(new FindR().new Employee("A",21,"comp_A",100.0));
l.add(new FindR().new Employee("A",21,"comp_A",null));
l.add(new FindR().new Employee("A",21,"comp_A",null));
l.add(new FindR().new Employee("B",22,"comp_B",null));
l.add(new FindR().new Employee("B",22,"comp_B",200.0));
l.add(new FindR().new Employee("C",23,"comp_C",300.0));
l.add(new FindR().new Employee("D",24,"comp_D",null));
l.add(new FindR().new Employee("E",25,"comp_E",null));
List<Employee> l_salaryNotNull = l.stream().filter(p->p.salary !=null).collect(Collectors.toList());
System.out.println("_salalary defined_");
l_salaryNotNull.stream().forEach(System.out::println);
System.out.println("_unique by name,age,company_");
List<String> l_uByNAC = l.stream().map(p->p.name+":"+p.age+":"+p.company).distinct().collect(Collectors.toList());
//or remove first null values and then get keys
//List<String> l_uByNAC = l.stream().filter(p->p.salary !=null).map(p->p.name+":"+p.age+":"+p.company).distinct().collect(Collectors.toList());
l_uByNAC.stream().forEach(System.out::println);
//eg: process first record
String aux[] = l_uByNAC.get(0).split(":");
System.out.println("keys for search in initial list | name="+aux[0]+",age="+aux[1]+",company="+aux[2]);
}
public class Employee
{
public String name;
public Integer age;
public String company;
public Double salary;
public Employee(String n, Integer a,String c, Double s)
{
name = n;
age = a;
company = c;
salary = s;
}
public String toString()
{
return "name:"+name+":age:"+age+":company:"+company+":salary:"+salary;
}
}
}
//output
//_salalary defined_
//name:A:age:21:company:comp_A:salary:100.0
//name:A:age:21:company:comp_A:salary:100.0
//name:B:age:22:company:comp_B:salary:200.0
//name:C:age:23:company:comp_C:salary:300.0
//_unique by name,age,company_
//A:21:comp_A
//B:22:comp_B
//C:23:comp_C
//D:24:comp_D
//E:25:comp_E
//(first)key for search in initial list | name=A,age=21,company=comp_A
问题内容: 我有一个具有“约会表”和“服务表”的数据库。每个appt都有一个服务,每个服务都有一个价格。我想要的是一个查询,该查询将始终返回12行(每月一行),并包含几个月的总和(基于其服务ID)。到目前为止,我有: 当前,返回的内容如下: 问题是,如果一个月没有任何订单,我不会在查询中返回该月。我希望该月有一个记录,只是它的“ monthly_total”等于零。 以下是我希望查询返回的内容:
给定:我在Kafka中有两个主题,假设主题A和主题B。Kafka流从主题A中读取一条记录,对其进行处理,并产生与所消耗记录相对应的多条记录(假设recordA和recordB)。现在的问题是我如何使用Kafka流来实现这一点。 在这里,读取的记录是消息;处理之后,它返回一个消息列表。如何将此列表划分为两个生产者流?任何帮助都将不胜感激。
好的,我目前正在一个网站上工作,对于网站的一部分,我试图显示一些来自SQL数据库的数据。我希望数据以如下所示的方式显示: 本质上,这应该显示一条记录,但是,我的问题是,我的样式表的设置方式是,每个项目列表/行只允许显示三个项目div。我不太明白怎么做,所以每个div只能显示3条记录,然后用PHP重置。
,日志记录将进入一个文件; (路径)/service_name/service_name.log 我想用logback复制这种行为,但在logback.xml配置中获取“logger”名称时遇到了真正的困难。它可以在log encoder.pattern中看到,即“%d%-5level%logger{35}-%msg%n”。
我有下表: 我还有以下表: 现在我有以下疑问: 长话短说--我的目标是,给定值,从表中获取最新的值。 它应该是这样工作的:给定值-在表中搜索与相同值的匹配记录(注意此列是唯一的)。然后-在表中查找最新的值(使用值)。使用与表中的列匹配的列在此表中搜索它。 当前,该查询将返回,但不返回(我需要它是3030)。你能帮我修一下吗?
我有下面的JSON代码,有必要在每个记录的末尾添加键/值,如示例所示。我使用JOLT Transform处理器进行JSON转换。 输入: 预期输出: 非常感谢你的帮助。提前感谢。