Java

    스트림 활용

    스트림 활용

    필터링 filter 메서드 boolean을 반환하는 함수를 인수로 받아서 일치하는 모든 요소를 포함하는 스트림 반환 distinct 메서드 고유 요소로 이루어진 스트림을 반환 (중복 제거) 스트림 슬라이싱 자바 9 는 스트림의 요소를 효과적으로 선택할 수 있도록 takeWhile, dropWhile 새로운 메서드 지원 takeWhile filter 와 달리 참이 아닐경우 거기서 멈춤 (filter는 참인 요소 모두 확인해서 가져옴) dropWhile 거짓이 되는 지점까지 발견된 요소를 버린다. (takeWhile과 반대) List sliceMenu1 = menu.stream() .filter(dish -> dish.getCalories() < 320) .collect(Collectors.toList())..

    스트림

    자바 8 스트림 API 특징 선언형 : 더 간결하고 가독성이 좋아진다. 조립할 수 있음 : 유연성이 좋아진다. 병렬화 : 성능이 좋아진다. 학습에 사용할 클래스 package com.company; public class Dish { private final String name; private final boolean vegetarian; private final int calories; private final Type type; public Dish(String name, boolean vegetarian, int calories, Type type) { this.name = name; this.vegetarian = vegetarian; this.calories = calories; this.ty..

    람다 표현식

    람다의 특징 익명 함수를 단순화 한것이라고 할 수 있다. 익명 이름이 없으므로 익명이라 표현한다. 구현해야할 코드에 대한 걱정거리가 줄어든다. 함수 람다는 메서드처럼 특정 클래스에 종속되지 않으므로 함수라고 부른다. 하지만 메서드처럼 파라미터 리스트, 바디, 반환 형식, 가능한 예외 리스트를 포함한다. 전달 람다 표현식을 메서드 인수로 전달하거나 변수로 저장할 수 있다. 간결성 익명 클래스처럼 많은 자질구레한 코드를 구현할 필요가 없다. (String s) -> s.length(); (Apple a) -> a.getWeight() > 150 (int x, int y) -> { System.out.println("Result:"); System.out.println(x + y); } () -> 42 (Ap..

    동작 파라미터화 코드 전달

    인터페이스를 사용해서 한개의 파라미터로 다양한 동작 가능 interface ApplePredicate { boolean test(Apple apple); } enum Color { RED, GREEN } class Apple { int weight; Color color; public Apple(int weight, Color color) { this.weight = weight; this.color = color; } public int getWeight() { return weight; } public void setWeight(int weight) { this.weight = weight; } public Color getColor() { return color; } public void setCo..

    프로젝트B. 방명록 만들기

    1. 프로젝트 개요 두번째 프로젝트는 Servlet, JSP, JSTL & EL, JDBC를 이용하여 방명록 웹 어플리케이션을 작성하는 것입니다. 기능 요구사항은 다음의 기획서를 참고해 주세요. 기획서는 서비스 프로젝트에서 요구사항을 담은 내용이라고 생각하시면 됩니다. 여러분들은 기획서를 참고하여 프로젝트 결과를 만들어내야 합니다. 2. 프로젝트 개발스펙 방명록 웹 어플리케이션을 처음 시작하면 방명록을 입력하는 화면만 보입니다. 기술 요구사항 방명록 테이블 작성을 위한 스크립트는 다음과 같습니다. CREATE TABLE `guestbook` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'guestbook id', `name` VARCHAR(255) NOT NULL ..

    프로젝트A. 명함 관리 프로그램

    1. 프로젝트 개요 첫번째 프로젝트는 CLI(Command Line Interface)를 사용하는 명함관리 프로그램을 만드는 것입니다. 터미널(윈도우는 cmd창)상에서 동작하는 프로그램을 작성해야 합니다. 기능 요구사항은 다음의 기획서를 참고해 주세요. 기획서는 서비스 프로젝트에서 요구사항을 담은 내용이라고 생각하시면 됩니다. 여러분들은 기획서를 참고하여 프로젝트 결과를 만들어내야 합니다. 2. 프로젝트 개발스펙 프로그램을 시작하면 메인화면이 보여져야 합니다. 기술 요구사항 메인 화면과 키보드 입력 부분에 대한 코드는 미리 주어집니다. 테이블 생성 스크립트 ddl.sql 을 프로젝트에 포함시켜 제출하세요. 제공된 BusinessCardManagerDao를 JDBC프로그래밍으로 구현하세요. 작성한 코드 B..