Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hamcrest matcher等价于sql联接操作_Java_Filter_Matcher_Hamcrest - Fatal编程技术网

Java Hamcrest matcher等价于sql联接操作

Java Hamcrest matcher等价于sql联接操作,java,filter,matcher,hamcrest,Java,Filter,Matcher,Hamcrest,我有两个包含对象的列表,例如: list1有对象person 此人具有以下属性: 姓名、身份证、地址 列表2包含对象employee 员工具有以下属性: 工资 employee中的id等于person中的id 我正在尝试筛选/获取所有名为['john'、'wick'、'tom'] 如果我使用SQL语句,这是很容易做到的,但是在Java hamcrest或其他匹配器中是否有类似的方法 我被卡在下面的线路上 List selected = select(

我有两个包含对象的列表,例如: list1有对象person 此人具有以下属性: 姓名、身份证、地址

列表2包含对象employee 员工具有以下属性: 工资

employee中的id等于person中的id

我正在尝试筛选/获取所有名为
['john'、'wick'、'tom']

如果我使用SQL语句,这是很容易做到的,但是在Java hamcrest或其他匹配器中是否有类似的方法

我被卡在下面的线路上

List selected = select(
                      list2,
                      having(
                            on(Employee.class).getId(),
                            equalTo("")
                      )
                );

除了匹配器之外,您可能还需要使用流和谓词:

List<Person> selected = list1.stream()
    .filter(person -> list2.stream().anyMatch(employee -> employee.getId().equals(person.getId())))
    .collect(toList());
List selected=list1.stream()
.filter(person->list2.stream().anyMatch(employee->employee.getId().equals(person.getId()))
.collect(toList());

除了匹配器,您可能还需要使用流和谓词:

List<Person> selected = list1.stream()
    .filter(person -> list2.stream().anyMatch(employee -> employee.getId().equals(person.getId())))
    .collect(toList());
List selected=list1.stream()
.filter(person->list2.stream().anyMatch(employee->employee.getId().equals(person.getId()))
.collect(toList());

我只限于java 7Oh,我明白了。听到这个消息很难过。是和/或一种可能性?我知道,我只限于java 7Oh。听到这个消息很难过。是否存在和/或可能性?