본문 바로가기

개발중/html

람다식 연습 기록

728x90
반응형
package com.rsn.def.job;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

import com.rsn.def.vo.Demon_Test_VO;

public class 람다식 {

	public static void main(String[] args) {

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

		 


		/**
		 * 
		 */
		System.out.println("\n\n★☆★ vo의 seq 를 뽑아서 10을 곱해준 다음에 다시 set 한다. 그리고 출력까지");
		list = LAM.createData();
		list.stream().map(x ->{
			x.setDemon_seq(x.getDemon_seq()*10);
			return x;
		}).forEach(x->{
			System.out.println(x.getDemon_seq());
		});
		

		 


		/**
		 * 
		 */
		System.out.println("\n\n★☆★ list 에서 스트림을 하고  map 으로 vo 타이틀을 추출해서 타이틀에 삽입한다. 그리고 출력 까지");
		list = LAM.createData();
		list.stream().map(x->{
			x.setI_content(x.getI_title());
			return x;
		}).forEach(x->{
			System.out.println("x.getI_content() = " + x.getI_content());
			System.out.println("x.getI_title()   = " + x.getI_title()  );
		});
		

 

		/**
		 * 
		 */
	   System.out.println("\n\n★☆★ title이 '은지'라면 concat을 사용해서 'A'를 연결한다.");
	   list = LAM.createData();
	   list.stream().filter(x -> x.getI_title().equals("은지"))
	                .map(x -> {
		            	 x.setI_title(x.getI_title().concat("A"));;
		            	 return x;
		            })
				    .forEach(x -> {
					         System.out.println(x.getI_title());
		            });
		

	   


		/**
		 * 
		 */
		System.out.println("\n\n★☆★ List<Integer> 을 사용해서 담긴 배열마다 곱하기 3을 해준다.");
		System.out.println("List<Integer> numbers = Arrays.asList(1, 2, 3, 11, 12, 13)");
		list = LAM.createData();
		List<Integer> numbers = Arrays.asList(1, 2, 3, 11, 12, 13);
		numbers.stream().map(x-> x*3)
		                .forEach( x-> {
		                	System.out.println(x);
		                });
		

		 


		/**
		 * 
		 */
		System.out.println("\n\n★☆★ filter를 사용해서 조건을 걸었다 title이 '은지' 이고 content가 달리기 인 것들만 list에 살아남을 수 있다.");
		list = LAM.createData();
	    list = list.stream().filter(x -> x.getI_title().equals("은지") && x.getI_content().equals("달리기"))
	    		             .map(x->{
	    		            	 System.out.println( x.getI_title());
	    		            	 System.out.println( x.getI_content());
	    		            	 return x;
	                          }).collect(Collectors.toList());
		

	    


		/**
		 * 
		 */
	   System.out.println("\n\n★☆★ title이 '은지' 라면 '_수정'을 연결해서 저장한다.");
	   list = LAM.createData();
	   list.stream().filter( x -> x.getI_title().equals("은지"))
	                .map(x->{ 
	                	    x.setI_title(x.getI_title() + "_수정");
	                	    System.out.println(x.getI_title());
                                return x; 
                       }).collect(Collectors.toList());

		

	   


		/**
		 * 
		 */
		System.out.println("\n\n★☆★ names의 속성마다 'Hello' 를 연결시킨 후 출력까지 ~~");
		List<String> names = Arrays.asList("jeong", "pro", "jdk", "java");

		names.parallelStream().map(x -> x.concat("Hello"))
		                      .forEach(x -> System.out.println(x));	  
		
		
		
		
		/**
		 * 
		 */
		System.out.println("\n\n★☆★ List에 담긴 DATA들을 차례로 출력해보겠습니다.");
		System.out.println("★☆★ 근데 여기서 collect(Collectors.toList()) 이거 빼면 출력이 안됩니다...");
		list = LAM.createData();
		list.stream().map(x->{
			System.out.println( "seq    : " + x.getDemon_seq());
			System.out.println( "title  : " + x.getI_title());
			System.out.println( "content: " + x.getI_content());
			return x;
		}).collect(Collectors.toList());
		

		 

 
		
		
	}

	private List<Demon_Test_VO> createData() {

		List<Demon_Test_VO> list = new ArrayList<Demon_Test_VO>();

		Demon_Test_VO v1 = new Demon_Test_VO();

		v1.setI_title("수빈");
		v1.setI_content("수영");
		v1.setDemon_seq(1);
		list.add(v1);
		
		v1 = new Demon_Test_VO();
		v1.setI_title("보은");
		v1.setI_content("골프");
		v1.setDemon_seq(2);
		list.add(v1);
		
		v1 = new Demon_Test_VO();
		v1.setI_title("은지");
		v1.setI_content("헬스");
		v1.setDemon_seq(3);
		list.add(v1);
		
		v1 = new Demon_Test_VO();
		v1.setI_title("은지");
		v1.setI_content("사격");
		v1.setDemon_seq(4);
		list.add(v1);
		
		v1 = new Demon_Test_VO();
		v1.setI_title("다미");
		v1.setI_content("필라테스");
		v1.setDemon_seq(5);
		list.add(v1);
		
		v1 = new Demon_Test_VO();
		v1.setI_title("은지");
		v1.setI_content("달리기");
		v1.setDemon_seq(6);
		list.add(v1);
		
		v1 = new Demon_Test_VO();
		v1.setI_title("나나");
		v1.setI_content("요가");
		v1.setDemon_seq(7);
		list.add(v1);

		v1 = new Demon_Test_VO();
		v1.setI_title("상희");
		v1.setI_content("테니스");
		v1.setDemon_seq(8);
		list.add(v1);
		
		v1 = new Demon_Test_VO();
		v1.setI_title("태성");
		v1.setI_content("야구");
		v1.setDemon_seq(9);
		list.add(v1);
		
		v1 = new Demon_Test_VO();
		v1.setI_title("나나");
		v1.setI_content("요가");
		v1.setDemon_seq(10);
		list.add(v1);
		
		v1 = new Demon_Test_VO();
		v1.setI_title("단희");
		v1.setI_content("사격");
		v1.setDemon_seq(11);
		list.add(v1);
		
		v1 = new Demon_Test_VO();
		v1.setI_title("이한");
		v1.setI_content("야구");
		v1.setDemon_seq(12);
		list.add(v1);
		
		v1 = new Demon_Test_VO();
		v1.setI_title("은미");
		v1.setI_content("축구");
		v1.setDemon_seq(13);
		list.add(v1);
		
		v1 = new Demon_Test_VO();
		v1.setI_title("정원");
		v1.setI_content("축구");
		v1.setDemon_seq(14);
		list.add(v1);
		
		
		return list;
	}
}
728x90
반응형

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

vue 에서 div 에 마우스 hover 순간 - 버튼 만들기  (0) 2021.04.21
div 배치 시작하기  (0) 2021.04.09
router-link css 효과  (0) 2021.02.02
테이블 border 선이 두줄 => 한줄로 바꾸기  (0) 2021.01.22
HTML LODING DISPLAY  (0) 2020.07.27