람다식 연습 기록

2021. 2. 25. 15:03·개발중/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
'개발중/html' 카테고리의 다른 글
  • vue 에서 div 에 마우스 hover 순간 - 버튼 만들기
  • div 배치 시작하기
  • router-link css 효과
  • 테이블 border 선이 두줄 => 한줄로 바꾸기
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (948)
      • 개발중 (635)
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (88)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18)
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (27)
        • 기록 (3)
        • 캐글 스터디 (3)
        • R (12)
        • MLOps (9)
      • 논문 (5)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    jpa
    리눅스 1급 요약
    리눅스 마스터 요약
    네트워크 관리사 자격증
    Spring
    네트워크 관리사 요약
    네트워크 관리사 학점
    java
    BackendDevelopment
    쿠버네티스
    네트워크 관리사 실기
    네트워크 관리사 2급 실기
    Git 저장소
    REST API
    리눅스 마스터 1급 요약
    스프링
    파이썬
    VUE
    springboot
    파이썬 알고리즘
    쿠버네티스 스터디
    알고리즘
    네트워크 관리사
    redis
    리눅스 마스터
    리눅스 마스터 1급
    네트워크 관리사 2급
    git
    docker
    리눅스 마스터 1급 정리
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
람다식 연습 기록
상단으로

티스토리툴바