JAVA
[Java stream] anyMatch를 이용한 list 간의 join 진행 테스트
Hwoarang757
2024. 5. 21. 00:29
[Java stream] anyMatch를 이용한 list 간의 join 진행 테스트
testArray 와 compareList 간 name key로 inner join 을 진행 하여 일치하는 testArray 요소만 리턴 하였습니다.
package com.gmission.test.service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import org.springframework.stereotype.Service;
@Service
public class AnyMatchTestServiceImpl implements IAnyMatchTestService {
@Override
public List<?> AnyMatchTest() {
List<String> compareList = Arrays.asList("김철수","김영미","강감찬");
ArrayList<HashMap<String,String>> testArray = new ArrayList<>();
testArray.add(new HashMap<>() {{
put("name", "홍길동");
put("id" , "user1");
put("empno" , "12345678");
}} );
testArray.add(new HashMap<>() {{
put("name", "김철수");
put("id" , "user2");
put("empno" , "12345679");
}} );
testArray.add(new HashMap<>() {{
put("name", "김영미");
put("id" , "user1");
put("empno" , "12345670");
}} );
return testArray.stream().filter(y -> compareList.stream().anyMatch(x -> x.equals(y.get("name")))).toList();
}
}
결과