본문 바로가기

개발중/Java

람다식 filter

728x90
반응형

람다식

람다식이 매번 헷갈려서 정리 해보려고 한다.

 


더미 데이터 준비

	private List<Demon_Test_VO> createData() {
		
		List<Demon_Test_VO> list = new ArrayList<Demon_Test_VO>();
		
		Demon_Test_VO v1 = new Demon_Test_VO();
		Demon_Test_VO v2 = new Demon_Test_VO();
		Demon_Test_VO v3 = new Demon_Test_VO();
		Demon_Test_VO v4 = new Demon_Test_VO();
		Demon_Test_VO v5 = new Demon_Test_VO();
		Demon_Test_VO v6 = new Demon_Test_VO();
		Demon_Test_VO v7 = new Demon_Test_VO();
		
		v1.setI_title("수빈");
		v1.setI_content("수영");
		
		v2.setI_title("보은");
		v2.setI_content("골프");
		
		v3.setI_title("은지");
		v3.setI_content("헬스");
		
		v4.setI_title("아영");
		v4.setI_content("사격");
		
		v5.setI_title("다미");
		v5.setI_content("필라테스");
		
		v6.setI_title("유빈");
		v6.setI_content("달리기");
		
		v7.setI_title("나나");
		v7.setI_content("요가");
		
		
		
		list.add(v1);
		list.add(v2);
		list.add(v3);
		list.add(v4);
		list.add(v5);
		list.add(v6);
		list.add(v7);
        
		return list;
	}

 


 

람다식 사용


public static void main(String[] args) {

  람다식 LAM = new 람다식();
  List<Demon_Test_VO> list = LAM.createData();



  System.out.println("================{ 람다식 사용 전 }====================");
  for( Demon_Test_VO vo : list ) {
    System.out.println(vo.getI_title());
    System.out.println(vo.getI_content());
  }


  list = list.stream().filter( x -> x.getI_title().equals("은지")).collect(Collectors.toList());


  System.out.println("================{ 람다식 사용 후 }====================");
  for( Demon_Test_VO vo : list ) {
    System.out.println(vo.getI_title());
    System.out.println(vo.getI_content());
  }

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

list = list.stream().filter(x -> x.getI_title().equals("은지"))
                    .collect(Collectors.toList());

 

List<Demon_Test_VO> list 에서

 

list 에 존재하는 Demon_Test_VO 들 중에

 

하나의 Demon_Test_VO씩 꺼내오는데 

 

꺼내온 Demon_Test_VO가 x에 대입이 된다.

 

x에서 getI_title()  을 이용해서 I_title 을 꺼내온다. 

 

후에 확인을 하는데  x.getI_title().equals("은지") 조건이 참인 데이터만이 살아 남게 된다.

 

 

 

후에 list 에 다시 삽입하는데 이 또한 형식을

List 형식으로 변환 후에 저장해야하기 때문에 

 


.collect(Collectors.toList());

 

를 이용하여 반환하여 주자.

 


 

728x90
반응형

'개발중 > Java' 카테고리의 다른 글

java Excel 파일 읽어오기  (0) 2021.03.08
람다식 parallelStream, forEach  (0) 2021.02.25
JAVA Excel Create 내보내기 (기초)  (0) 2021.02.25
java 8 stream api documentation  (0) 2021.02.25
java 8 stream api documentation  (2) 2021.02.24