스트림 컬렉션의 저장 요소를 하나씩 참조하여 람다식으로 처리할 수 있도록 해주는 반복자 스트림 구성 중간 처리 : 필터링, 매핑, 정렬, 그룹핑 등 최종 처리 : 합계, 평균, 카운팅 등 특징 람다식으로 요소 처리 코드를 제공 내부 반복자를 사용한 병렬 처리 중간, 최종 처리 가능 스트림 얻기 스트림을 사용하기 위해 먼저 스트림을 얻어야 합니다. 컬렉션으로부터 스트림 얻기 stream = studentList.stream(); 배열로부터 스트림 얻기 stream = Arrays.stream(strArray); 숫자 범위로부터 스트림 얻기 stream = IntStream.rangeClosed(1, 100); 파일로부터 스트림 얻기 Path path = Paths.get(“*/*.txt”); stream ..
제네릭(Generic) 제네릭은 필요한 데이터 타입을 클래스 내부가 아닌 외부에서 사용자에 의해 지정하는 것을 말합니다. 즉, 특정 타입을 미리 지정하는 것이 아니라 필요할 때 지정할 수 있도록 해주는 일반적인 타입입니다. 제네릭 타입을 사용하면 컴파일 단계에서 미리 강한 타입 체크가 가능하기 때문에 잘못된 타입을 사용하여 발생하는 에러를 사전에 방지할 수 있습니다. 또한 제네릭 타입을 사용하면 타입을 국한하기 때문에 요소를 찾아올 때 타입 변환을 할 필요가 없어 프로그램 성능이 향상됩니다. ArrayList list = new ArrayList(); //제네릭을 사용하지 않을 경우 list.add("test"); String temp = (String) list.get(0); //타입변환이 필요함 Ar..
I/O란? Input과 Output의 약자로 입출력을 의미합니다. 간단한 예를 보면 키보드로 텍스트를 입력하고, 모니터로 입력한 텍스트를 출력하는 것을 말합니다. 스트림 (Stream) 기반 I/O 자바에서는 파일이나 콘솔 입출력을 직접 다루지 않고 스트림이라는 흐름을 사용합니다. 스트림은 실제의 입력이나 출력이 표현되는 데이터의 이상화된 흐름을 의미합니다. 즉, 운영체제에의해 생성되는 가상의 연결고리, 중간 매개체를 의미합니다. 스트림은 한 방향으로만 통신할 수 있으며, 입력과 출력을 동시에 처리할 수는 없습니다. 따라서 스트림은 사용 목적에 따라 입력 스트림과 출력 스트림으로 구분됩니다. 자바에서는 java.io 패키지를 통해 InputStream과 OutputStream을 각각 제공합니다. Inpu..
Annotation Java 5부터 추가된 기능으로 소스 코드에 메타 데이터를 추가하는 것입니다. 클래스, 메소드, 변수 등에 붙여서 사용하게 됩니다. 애노테이션 정의하는 방법은 다음과 같습니다. public @interface DoRepeat100 {} Interface를 정의한 뒤 interface 키워드 앞에 @를 붙입니다. 위 애노테이션은 같은 작업을 100번 반복하는 것을 의미합니다. 위에서 생성한 애노테이션을 부여하여 메소드를 구현하였습니다. public class Hello { @DoRepeat100 public void hello() { System.out.println("Helllo"); } } hello라는 메소드는 애노테이션을 부여받았습니다. 이제 이 애노테이션을 처리하는 클래스를 살..
- Total
- Today
- Yesterday
- programmers
- ionic
- EC2
- CodeCommit
- ECR
- sort
- 에라토스테네스의 체
- 조합
- Dynamic Programming
- permutation
- Baekjoon
- CodePipeline
- SWIFT
- array
- 순열
- string
- AWS
- 수학
- map
- CodeDeploy
- search
- Combination
- BFS
- cloudfront
- DFS
- 소수
- spring
- Algorithm
- java
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |