BackEnd/Java 썸네일형 리스트형 [java] 이것이 자바다 ch18 데이터 입출력 1 (Writer, Reader) 1. 입력 스트림과 출력 스트림 ▷ 프로그램을 기준으로 데이터가 들어오면 입력 스트림, 데이터가 나가면 출력 스트림 ▷ 프로그램이 다른 프로그램과 데이터를 교환하려면 양쪽 모두 입력 스트림과 출력 스트림이 필요 ▷ 바이트 스트림 : 그림, 멀티미디어, 문자 등 모든 종류의 데이터를 입출력할 때 사용 ▷ 문자 스트림 : 문자만 입출력할 때 사용 ▷ 자바는 데이터 입출력과 관련된 라이브러리를 java.io 패키지에서 제공 ◎ 스트림 입출력 NO 구분 바이트 스트림 문자 스트림 입력 스트림 출력 스트림 입력 스트림 출력스트림 1 최상위클래스 InputStream OutputStream Reader Writer 2 하위 클래스 (예) XXXInputStream (FileInputStream) XXXOutputS.. 더보기 [java] 이것이 자바다 ch17 스트림(reduce, 병렬) 11. 요소 커스텀 집계(스트림이 제공하는 메소드) ▷ 스트림은 기본 집계 메소드인 sum(), average(), count(), max(), min()을 제공하지만, 다양한 집계 결과물을 만들 수 있도록 reduce() 메소드도 제공 NO 인터페이스 리턴 타입 메소드(매개변수) 1 Stream Optional reduce(BinaryOperator accumulator) 2 T reduce(T identity, BinaryOperator accumulator) 3 IntStream OptionalInt reduce(IntBinaryOperator op) 4 int reduce(int identity, IntBinaryOperator op) 5 LongStream OptionalLong reduce(L.. 더보기 [java] 이것이 자바다 ch17 스트림(sorted, 루핑, 매칭, optional) 7. 요소 정렬 ▷ 요소를 오름차순 또는 내림차순으로 정렬하는 중간 처리 기능 NO 리턴 타입 메소드(매개변수) 설명 1 Stream sorted() Comparable 요소를 정렬한 새로운 스트림 생성 2 Stream sorted(Comparator) 요소를 Comparator에 따라 정렬한 새 스트림 생승 3 DoubleStream sorted() double 요소를 올림차순으로 정렬 4 Stream sorted() int 요소를 올림차순으로 정렬 5 Stream sorted() long 요소를 올림차순으로 정렬 ◎ Comparable 구현 객체의 정렬 ▷ 스트림의 요소가 객체일 경우 객체가 Comparable을 구현하고 있어야만 sorted() 메소드를 사용하여 정렬 가능. ▷ 그렇지 않다면 Cla.. 더보기 [백준 문제 10250번] ACM 호텔 문제 https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 문제 10250) ACM 호텔 문제) ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단.. 더보기 [java] 이것이 자바다 ch17 스트림(필터링, 매핑, wrapper) 5. 요소 걸러내기(필터링) ▷ 필터링은 요소를 걸러내는 중간 처리 기능 ◎ 필터링 메소드 NO 리턴 타입 메소드(매개변수) 설명 1 Stream IntStream LongStream DoubleStream distinct() 중복 제거 filter(Predicate) filter(intPredicate) filter(LongPredicate) filter(DoublePredicate) 조건 필터링 매개 타입은 요소 타입에 따른 함수형 인터페이스이므로 람다식으로 작성 가능 ▷ distinct() 메소드 : 요소의 중복을 제거 ▷ filter() 메소드 : 매개값으로 주어진 Predicate가 true를 리턴하는 요소만 필터링 ▷ Predicae : 함수형 인터페이스 ◎ 검사하는 추상 메소드 NO 인터페이.. 더보기 [java] 이것이 자바다 ch17 스트림(내부 반복자, 파이프라인, 인터페이스) 1. 스트림 ▷ Java8부터 컬렉션 및 배열의 요소를 반복 처리하기 위해 스트림 사용 ▷ 요소들이 하나씩 흘러가면서 처리된다는 의미 ▷ List 컬렉션의 stream() 메소드로 Stream 객체를 얻고, forEach() 메소드로 요소를 어떻게 처리할지 람다식으로 제공 ▷ 스트림과 Iterator 차이점 ▶ 내부 반복자이므로 처리 속도가 빠르고 병렬 처리에 효율적 ▶ 람다식으로 다양한 요소 처리를 정의 ▶ 중간 처리와 최종 처리를 수행하도록 파이프 라인을 형성 ◎ 스트림 사용 예제 import java.util.HashSet; import java.util.Iterator; import java.util.Set; import java.util.stream.Stream; public class Stre.. 더보기 [java] 이것이 자바다 ch16 람다식(rambda) 1. 람다식 ▷ 함수형 프로그래밍 : 함수를 정의하고 이 함수를 데이터 처리부로 보내 데이터를 처리하는 기법 ▷ 데이터 처리부는 제공된 함수의 입력값으로 데이터를 넣고 함수에 정의된 처리 내용을 실행 ▷ 람다식 : 데이터 처리부에 제공되는 함수 역할을 하는 매개변수를 가진 중괄호 블록이다. ▷ 자바는 람다식을 익명 구현 객체로 변환 람다식 : (매개변수, ...) -> { 처리 내용 } public interface Calculable{ // 추상 메소드 void calculate(int x, int y); } action( (x,y) -> { int result = x + y; System.out.println(result); }); ◎ 함수형 인터페이스 ▷ 인터페이스가 단 하나의 추상 메소드를 가.. 더보기 [java] 이것이 자바다 ch15 컬렉션 3 6. LIFO와 FIFO 컬렉션 ◎ 후입 선출과 선입선출 ▷ 후입 섭출(LIFO : Last In First Out) : 스택(stack) ▶ 나중에 넣은 객체가 먼저 빠져나가는 구조 ▷ 선입 선출(FIFO : First In First Out) : 큐(queue) ▶ 먼저 넣은 객체가 먼저 빠져나가는 구조 ▷ 컬렉션 프레임워크는 LIFO 자료구조를 제공하는 스택 클래스와 FIFO 자료 구조를 제공하는 큐 인터페이스 제공 ◎ Stack ▷ Stack 클래스 : LIFO 자료구조를 구현한 클래스 NO 리턴 타입 메소드 설명 1 E push(E item) 주어진 객체를 스택에 넣는다. 2 E pop() 스택의 맨 위 객체를 빼낸다. ◎ Stack 컬렉션 사용 예제 1. Coin 클래스 public class.. 더보기 이전 1 ··· 4 5 6 7 8 9 10 ··· 17 다음