Stream API를 사용하기 위해서는 먼저 Stream을 생성해주어야 합니다. 이번 포스팅에서는 Java 8에서 추가된 스트림(Stream) 사용법에 대해 알아보겠습니다. Stream생성하기 ❕Stream을 생성하기 위해서는 다음과 같은 방법이 있습니다.배열, 컬렉션, 빈스트림Stream.builder() , 람다식(Stream.generate()) , 람다식(Stream.iterate())기본타입형 , String , 파일스트림병렬스트림, 스트림연결하기배열 Stream 생성String[] arr = new String[]{"A", "B", "C"};Stream stream = Arrays.stream(arr);Stream streamOfArrayPart = Arrays.stream(arr, 1, 3)..
Language/Java
Java 8에서 추가된 스트림(Stream)은 컬렉션에 있는 요소(List, Map, Set)들을 더 편리하게 가공하고 처리하도록 해주는 반복자입니다. 배열이나 컬렉션에 저장되어 있는 데이터를 접근할 때 이전에는 반복문(for)이나 iterator를 사용하여 접근을 했습니다. 기존 for문 사용String str = "12345"; int[] digits = new int[str.length()]; for(int i=0; i 그러나 이러한 접근은 코드도 길고, 정형화되어있는 패턴이 없기 때문에 캐스팅을 해주거나 데이터마다 각각 다른 접근을 해야만 했습니다. Stream 사용String str = "12345"; int[] digits = Stream.of(str..
보통 Java에서 정수형을 표현할 때 int형이나 큰 수일경우 long형을 사용합니다. 물론 byte와 short 도 있지만 잘 사용을 하지 않습니다.타입 할당되는 메모리의 크기 표현 범위byte1 byte- 128 ~ 127short 2 byte -215 ~ (215 - 1)-32,768 ~ 32,767 int 4 byte -231 ~ (231 - 1)-2,147,483,648 ~ 2,147,483,647long8 byte -263 ~ (263 - 1)-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 거의 대부분 long 타입으로 표현할 수 있지만 표현 범위를 넘어서는 아주 큰 수를 표현하기엔 한계가 있습니다. 만약에 표현 범위를 넘어서게 된다면 다음..
charAt() 란 ❓Java String 클래스에는 charAt()라는 메서드가 있습니다. charAt() 메서드는 문자열의 지정된 인덱스에 있는 문자(char)를 반환합니다. 문자열에서 원하는 문자(char)를 뽑을 때 자주 사용합니다. 인덱스에서도 알 수 있듯이 charAt()은 매개변수로 int형 정수를 받아야 합니다. charAt(int index) 시작 인덱스는 0이며, 주어진 인덱스 번호가 문자열 길이보다 크거나, 매개변수에 음수 값이 들어가면 "StringIndexOutOfBoundsException" 에러가 발생합니다. 위 문제는 charAt() 메서드를 사용하기에 적합한 아주 간단한 문제입니다. 위 코드는 BufferedReader 클래스를 사용한 코드입니다. 16번 째줄이 이번 ..