profile
Enjoy to study

14-40~44 스트림의 최종연산

스트림의 모든 요소에 지정된 작업을 수행 - forEach(), forEachOrdered()기본적으로 직렬 스트림이므로 생략해도 동일병렬 스트림에서 forEach의 경우 순서 보장이 안됨순서 보장을 위해서는 forEachOrdered 사용스트림의 요소를 하나씩 줄여가

2021년 3월 22일
·
0개의 댓글

14-35~39 Optional

T 타입 객체의 wrapper 클래스 - Optional<'T'>(wrapper 클래스 : Integer, Long, ... 9-25 Wrapper, Number 클래스 참고)null을 직접 다루는 것은 위험하다. (NullpointerException)null

2021년 3월 22일
·
0개의 댓글

14-30~34 스트림의 중간연산(2)

ex) 파일 스트림(Stream<'File'>)에서 파일 확장자(대문자)를 중복없이 뽑아내기위의 결과가 아닌 아래와 같이 하나의 stream으로 만든 결과를 원할 때가 많다.

2021년 3월 22일
·
0개의 댓글

14-26~29 스트림의 중간연산(1)

스트림 자르기 - skip(), limit() 스트림의 요소 걸러내기 - filter(), distinct() 스트림 정렬하기 - sorted() Comparator의 comparing()으로 정렬 기준을 제공 추가 정렬 기준을 제공할 때는 thenComparing()을 사용

2021년 3월 22일
·
0개의 댓글

14-17~22 스트림 만들기

스트림 만들기 - 컬렉션 Collection 인터페이스의 stream()으로 컬렉션을 스트림으로 변환 스트림 만들기 - 배열 객체 배열로부터 스트림 생성하기 기본형 배열로부터 스트림 생성하기 스트림 만들기 - 임의의 수 난수를 요소로 갖는 스트림 생성하기 지정된

2021년 3월 22일
·
0개의 댓글

14-15~16 스트림, 스트림의 특징

CF(컬렉션 프레임워크) : List, Set, Map 사용방법이 달라서 사실상 표준화 실패(반쪽짜리 표준화)다양한 데이터 소스(컬렉션, 배열)를 표준화된 방법으로 다루기 위한 것(JDK 1.8)스트림 생성 방법데이터 소스 -> Stream -> 중간 연산(n번) ->

2021년 3월 22일
·
0개의 댓글

14-13~14 메서드 참조, 생성자의 메서드 참조

메서드 참조(method reference) 하나의 메서드만 호출하는 람다식은 '메서드 참조'로 더 간단히 할 수 있다. 생성자의 메서드 참조

2021년 3월 22일
·
0개의 댓글

14-9~12 Predicate의 결합. CF와 함수형 인터페이스

(인터페이스는 추상 메서드, default 메서드(JDK 1.8~), static 메서드(JDK 1.8~)를 가질 수 있다.) Predicate의 결합 and(), or(), negate()로 두 Predicate를 하나로 결합(default 메서드) 등가비교를 위한

2021년 3월 22일
·
0개의 댓글

14-7~8 java.util.function 패키지

자주 사용되는 다양한 함수형 인터페이스를 제공Q. 아래의 빈 칸에 알맞은 함수형 인터페이스(java.util.function 패키지)를 적으시오.A. 정답매개변수가 2개인 함수형 인터페이스만약 매개변수 3개이상을 가진 함수형 인터페이스가 필요하면 다음과 같이 직접 만들

2021년 3월 20일
·
0개의 댓글

14-5~6 함수형 인터페이스

함수형 인터페이스 단 하나의 추상 메서드만 선언된 인터페이스 위에서 선언한 익명 함수를 아래와 같은 람다식으로 변경할 수 있다. 함수형 인터페이스 타입의 참조변수로 람다식을 참조할 수 있음.

2021년 3월 19일
·
0개의 댓글

14-1~4 람다식(Lambda Expression)

함수(메서드)를 간단한 '식(expression)'으로 표현하는 방법익명 함수(이름이 없는 함수, anonymous function)함수와 메서드의 차이 \- 근본적으로 동일. 함수는 일반적 용어, 메서드는 객체지향개념 용어 \- 함수는 클래스에 독립적, 메서드는

2021년 3월 19일
·
0개의 댓글

13-34~36 wait(), notify()

데이터가 보호되지만, 한 번에 한 쓰레드만 임계영역에 들어갈 수 있어서 프로그램의 효율이 떨어진다.동기화의 효율을 높이기 위해 wait(), notify() 사용Object 클래스에 정의되어 있으며, 동기화 블록 내에서만 사용할 수 있다.객체의 lock을 풀고, 쓰레드

2021년 3월 19일
·
0개의 댓글

13-30~33 쓰레드의 동기화

멀티 쓰레드 프로세스에서는 다른 쓰레드의 작업에 영향을 미칠 수 있다.진행중인 작업이 다른 쓰레드에게 간섭받지 않게 하려면 '동기화'가 필요(동기화 - 한 쓰레드가 진행중인 작업을 다른 쓰레드가 간섭하지 못하게 막는 것)동기화 하려면 간섭받지 않아야 하는 문장들을 '임

2021년 3월 19일
·
0개의 댓글

13-28~29 join(), yield()

일반쓰레드 <-> 데몬쓰레드(보조쓰레드)지정된 시간동안 특정 쓰레드가 작업하는 것을 기다린다.예외처리를 해야 한다.(InterruptedException이 발생하면 작업 재개)garbage collector남은 시간을 다음 쓰레드에게 양보하고, 자신(현재 쓰레드)

2021년 3월 19일
·
0개의 댓글

7-40~41 default 메서드, static 메서드

인터페이스에 default 메서드, static 메서드 추가 가능(JDK 1.8 부터)인터페이스에 새로운 메서드(추상 메서드)를 추가하기 어려움(인터페이스 : 추상 메서드 집합)Repairable 인터페이스에 isfinished() 메서드를 추가하려고 할 때, 인터페이

2021년 3월 19일
·
0개의 댓글

7-39 인터페이스의 장점2

개발 시간을 단축할 수 있다.(B가 개발 되어있지 않아도 I만 있으면 A를 개발할 수 있음)변경에 유리한 설계가 가능하다.표준화가 가능하다.(JDBC : 자바 표준 인터페이스)EX. Java Application - JDBC - DB(Oracle, MySQL)서로 관계

2021년 1월 1일
·
0개의 댓글

7-39 인터페이스의 장점1

두 대상(객체) 간의 '연결, 대화, 소통'을 돕는 '중간 역할'을 한다.알맹이(구현)가 바뀌어도, 껍데기(선언)는 그대로기 때문에 변경에 유리, 유연ex. GUI, 자판기선언(설계)와 구현을 분리시킬 수 있게 한다.위 코드를 아래와 같이 분리인터페이스 덕분에 B가 변

2021년 1월 1일
·
0개의 댓글

7-38 인터페이스를 이용한 다형성

인터페이스도 구현 클래스의 부모? -> 같다고 봐도 무방인터페이스 타입 매개변수는 인터페이스 구현한 클래스의 객체만 가능구현사용인터페이스를 메서드의 리턴타입으로 지정할 수 있다.

2021년 1월 1일
·
0개의 댓글

7-35~37 인터페이스의 선언, 상속, 구현

추상 메서드의 집합구현된 것이 전혀 없는 설계도. 껍데기(모든 멤버가 public)예제 - public, abstract, static, final 생략 가능. 안 써도 항상 public, 상수, 추상 메서드 이므로!인터페이스의 조상은 인터페이스만 가능 (Object가

2020년 12월 31일
·
0개의 댓글

7-33~34 추상클래스의 작성

여러 클래스에 공통적으로 사용될 수 있는 추상클래스를 바로 작성하거나 기존 클래스의 공통 부분을 뽑아서 추상 클래스를 만든다.구현사용

2020년 12월 31일
·
0개의 댓글