반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Eclipse
- 정규식
- 테이블
- json
- 자바스크립트
- CSS
- html
- list
- 자바
- Button
- 문자열
- input
- js
- 인텔리제이
- CMD
- 배열
- vscode
- Java
- ArrayList
- IntelliJ
- table
- 이탈리아
- string
- Array
- windows
- 이클립스
- Visual Studio Code
- javascript
- Maven
- date
Archives
- Today
- Total
어제 오늘 내일
[Java 기초] Arrays.stream()으로 배열을 스트림으로 변환하기 본문
Java 8부터 도입된 Stream API는 데이터를 함수형 스타일로 처리할 수 있게 해줍니다.
배열을 스트림으로 변환하면, 반복문 없이도 필터링, 매핑, 집계 같은 작업을 간결하게 수행할 수 있습니다.
이를 가능하게 하는 메서드가 바로 Arrays.stream()
입니다.
이 메서드는 배열을 Stream API와 함께 활용할 수 있도록 변환하는 기능을 합니다.
1. 기본 사용법
Arrays.stream()
은 배열을 Stream
으로 변환합니다.
import java.util.Arrays;
public class StreamExample1 {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
Arrays.stream(numbers)
.forEach(System.out::println);
}
}
실행 결과
1
2
3
4
5
👉 배열을 스트림으로 바꿔서 바로 출력할 수 있습니다.
2. 합계 구하기
스트림을 활용하면 배열의 합계도 간단합니다.
import java.util.Arrays;
public class StreamExample2 {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
int sum = Arrays.stream(numbers).sum();
System.out.println("합계: " + sum);
}
}
실행 결과
합계: 15
3. 평균 구하기
import java.util.Arrays;
public class StreamExample3 {
public static void main(String[] args) {
int[] numbers = {10, 20, 30, 40, 50};
double avg = Arrays.stream(numbers).average().getAsDouble();
System.out.println("평균: " + avg);
}
}
실행 결과
평균: 30.0
4. 객체 배열 스트림
기본형 배열뿐 아니라 객체 배열도 스트림으로 변환할 수 있습니다.
import java.util.Arrays;
public class StreamExample4 {
public static void main(String[] args) {
String[] names = {"Tom", "Alice", "Bob", "David"};
Arrays.stream(names)
.filter(name -> name.startsWith("A"))
.forEach(System.out::println);
}
}
실행 결과
Alice
5. 부분 배열 스트림
배열의 일부분만 스트림으로 변환할 수도 있습니다.
import java.util.Arrays;
public class StreamExample5 {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5, 6};
Arrays.stream(numbers, 2, 5) // 인덱스 2 ~ 4
.forEach(System.out::println);
}
}
실행 결과
3
4
5
6. Arrays.stream() vs Stream.of()
Arrays.stream(array)
→ 배열을 스트림으로 변환Stream.of(array)
→ 배열 자체를 한 요소로 취급할 수 있음
import java.util.Arrays;
import java.util.stream.Stream;
public class StreamExample6 {
public static void main(String[] args) {
String[] arr = {"A", "B", "C"};
// 올바른 스트림 변환
Arrays.stream(arr).forEach(System.out::println);
// 배열 자체를 하나의 요소로 처리
Stream.of(arr).forEach(System.out::println);
}
}
실행 결과
A
B
C
[A, B, C]
👉 배열을 스트림으로 다루려면 **Arrays.stream()
**을 쓰는 게 정석입니다.
7. 정리
Arrays.stream()
→ 배열을 Stream API와 연결- 합계, 평균, 필터링, 매핑 등 함수형 연산 가능
- 부분 배열을 스트림으로 변환 가능
Stream.of()
와 혼동하지 않도록 주의
👉 배열을 스트림으로 변환해 함수형으로 다루려면 Arrays.stream()
을 쓰자!
반응형
'IT > Java' 카테고리의 다른 글
[Java String] String.split() – 문자열을 원하는 기준으로 나누기 (0) | 2025.08.22 |
---|---|
[Java StringBuilder] delete() / deleteCharAt() – 문자열 삭제하기 (0) | 2025.08.22 |
[Java] 문자열 사전순 비교 방법 (compareTo, 정렬, 대소문자 무시) (0) | 2025.08.22 |
[Java] 로또 번호 생성하기 (1) | 2025.03.22 |
[Java] 랜덤 문자열 생성하기 (0) | 2025.03.21 |
Comments