스트림(Stream)
: Iterator와 비슷한 역할을 하는 반복자
<스트림의 특징>
1) 람다식으로 요소 처리 코드 제공
2) 내부 반복자를 사용하여 병렬 처리가 쉽다
3) 중간 처리와 최종 처리를 할 수 있다
package chap16;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Stream;
public class StreamEx {
public static void main(String[] args) {
List<String> list = Arrays.asList("홍길동", "신용권", "김자바");
//Stream 이용
Stream<String> st = list.stream();
st.forEach(n -> System.out.println(n)); // 반복문처럼 활용됨
System.out.println();
list.stream().forEach(a -> System.out.println(a));
System.out.println();
//Iterator 반복자 이용
Iterator<String> it= list.iterator();
while(it.hasNext()) { // 자료가 있는지 없는지 체크
String name = it.next();
System.out.println(name);
}
}
}
* forEach() 메소드는 Consumer 함수적 인터페이스 타입의 매개값을 가지므로 컬렉션의 요소를 소비할 코드를 람다식으로 기술 가능
void forEach(Consumer<T> action)
<스트림의 종류>
1) 컬렉션으로부터 스트림 얻기
2) 배열로부터
3) 숫자 범위로부터
4) 파일로부터
5) 디렉토리로부터
Map 컬렉션
: 키(key)와 값(value)으로 구성된 Entry 객체를 저장하는 구조를 가지고 있다.
-> 여기서 키와 값은 모두 객체, 키는 중복 저장 불가 / 값은 중복 저장 가능
'국비지원 > 백엔드' 카테고리의 다른 글
221221 LiveSQL을 통한 Oracle DB 실습 (0) | 2022.12.22 |
---|---|
221220 OracleDB (0) | 2022.12.20 |
221215 람다식, 컬렉션 프레임워크 (0) | 2022.12.15 |
221213 예외 처리 (0) | 2022.12.13 |
221208 중첩 클래스와 중첩 인터페이스, 익명 객체 (0) | 2022.12.08 |