JAVA (360) 썸네일형 리스트형 IntStream에서 값이 없는경우 사용한다: OptionalInt OptionalLong OptionalDouble IntStream은 기본형 int 값을 다루는 많은 작업을 간단하게 만들어주는 강력한 도구이다. OptionalInt는 일반적으로 `IntStream`에서 정수형 데이터를 처리하고 스트림 연산을 수행하는데 값이 없는 경우를 다루기 위해 사용된다. https://standout.tistory.com/1461 Optional의 생성 of() ofNullable(), 초기화 empty(), 값 가져오기 get() orElse() Optional 지네릭 클래스로 T타입의 객체를 감싸는 래퍼 클래스. 최종연산결과를 Optional 객체에 담아서 반환해 반환결과가 null인지 if문으로 체크하는대신에 Optional에 정의된 메서드를 통해 간단히 standout.tistory.com OptionalInt 값이 존재.. Optional<T>의 생성 of() ofNullable(), 초기화 empty(), 값 가져오기 get() orElse() Optional 지네릭 클래스로 T타입의 객체를 감싸는 래퍼 클래스. 최종연산결과를 Optional 객체에 담아서 반환해 반환결과가 null인지 if문으로 체크하는대신에 Optional에 정의된 메서드를 통해 간단히 처리할 수 있다. https://standout.tistory.com/1393 Generics 지네릭스, 형변환을 생략하다 Generics 지네릭스 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일시 타입체크를 해주는 기능 타입안정성을 제공하며 형변환을 생략할 수 있어 코드가 간결해진다. import java.util standout.tistory.com Optional객체는 of()또는 null일 가능성이 있으면 ofNullable()을 사용한다. Optional타입의 참조변수.. Optional객체에 중간연산자 사용하기: filter() map() flatMap() isPresent() ifPresent() findAny() findFirst() Optional객체에도 filter() map() flatMap()을 사용할 수 있다. https://standout.tistory.com/1446 스트림의 연산 - 중간연산 distinct, filter, limit, skip, peek sorted map mapToDouble mapToInt mapToLong flatMap flatma 앞서 스트림과 스트림의 연산에 대해 알아봤다. 데이터를 다듬는 스트림 중간연산의 종류에 대해 알아보자. https://standout.tistory.com/1445 스트림의연산, 중간 연산과 최종연산 스트림 데이터의 흐 standout.tistory.com filter() `Optional` 객체가 값이 존재할 때, 주어진 조건에 따라 값을 필터링. 조건을 만족하지 않.. Optional 객체가 값이 없을경우 대체값을 설정하기: orElse() orElseThrow() orElse()와 orElseThrow() Optional 객체가 값이 없을경우 대체값을 설정한다. import java.util.NoSuchElementException; import java.util.Optional; public class Main { public static void main(String[] args) { // Optional 객체 초기화: 값이 있을 경우 Optional optionalWithValue = Optional.of("Hello"); // Optional 객체 초기화: 값이 없을 경우 Optional optionalEmpty = Optional.empty(); // Optional 객체 초기화: 값이 null일 가능성이 있는 경우 String nullableValue .. 두 개의 스트림 합치기 concat() concat 두 개의 스트림을 입력으로 받아서 이를 연결하여 하나의 스트림으로 만든다. import java.util.stream.Stream; public class Main { public static void main(String[] args) { // 첫 번째 스트림: 1부터 3까지의 정수 Stream stream1 = Stream.of(1, 2, 3); // 두 번째 스트림: 4부터 6까지의 정수 Stream stream2 = Stream.of(4, 5, 6); // 두 개의 스트림을 연결하여 하나의 스트림으로 만듦 Stream concatenatedStream = Stream.concat(stream1, stream2); // 연결된 스트림의 요소 출력 concatenatedStream.for.. 스트림 람다식을 이용한 임의의값 생성하기 iterate generate `iterate` 및 `generate`는 람다식을 사용하여 연속된 요소를 생성하는 데 사용되며, 주로 무한한 스트림을 생성할 때 유용하다. `iterate`는 이전 요소에 의존하여 스트림을 생성하는 반면, `generate`는 이전 요소의 결과를 이용해서 다음요소를 계산하지않는다. iterate 주어진 초기 값부터 시작하여 람다식을 반복적으로 적용하여 스트림을 생성 import java.util.stream.Stream; public class Main { public static void main(String[] args) { // 초기 값이 2이고, 각 요소는 이전 요소에 2를 곱한 값인 스트림을 생성 Stream.iterate(2, n -> n * 2) .limit(5) // 처음 5개의 요소만 .. 스트림 임의의 수 만들기 ints() longs() doubles() IntStream.ints() 무한한 랜덤한 int 값을 생성하는 무한 스트림을 반환 import java.util.stream.IntStream; public class Main { public static void main(String[] args) { // 처음 5개의 무작위 int 값을 출력 IntStream ints = IntStream.generate(() -> (int) (Math.random() * 100)); ints.limit(5).forEach(System.out::println); } } [출력결과] 24 92 51 16 36 LongStream.longs() 무한한 랜덤한 long 값을 생성하는 무한 스트림을 반환 import java.util.stream.LongStream; p.. 스트림 특정범위의 정수만들기 range() rangeClosed() 스트림의 소스가 될 수 있는 대상은 배열, 컬렉션, 임의의 수 등 다양하다. IntStream.range() 시작값과 끝값 사이의 연속된 정수를 생성 끝값은 포함되지 않는다 import java.util.stream.IntStream; public class Main { public static void main(String[] args) { // 1부터 5까지의 정수를 생성 IntStream.range(1, 6) .forEach(System.out::println); } } [출력결과] 1 2 3 4 5 IntStream.rangeClosed() 시작값과 끝값 사이의 연속된 정수를 생성 끝값도 포함된다. import java.util.stream.IntStream; public class Main { .. 이전 1 ··· 4 5 6 7 8 9 10 ··· 45 다음