728x90
Stream에서 자주 사용되는 메서드
- filter(): 필터링_ 특정 조건에 부합하는 stream을 전개한다
- map(): 매핑처리_ 리스트 내의 모든 값들을 키_값형태로 처리한다
- sorted(): 알파벳순으로 정렬한다
- reduce(): 모든 과일을 하나의 문자열로 연결한다.
- distinct(): 중복된 값을 제거하고 출력한다.
- limit(long maxSize): 처음부터 maxSize개의 값을 출력한다.
- skip(long n): 처음 n개의 값을 제외한 나머지 값을 출력한다.
활용예시
List<Integer> numbers에서 총합계산
int total = numbers.stream().mapToInt(i->i).sum();
최댓값 구하기
int max = Arrays.stream(arr).max().getAsInt();
365의 배수 개수 세기
int cnt = (int) Arrays.stream(arr).filter(it->it % 365 == 0).count();
중복값 제거
int[] result = Arrays.stream(arr).distinct().toArray();
Integer[] result = Arrays.stream(arr).boxed.distinct().toArray(Integer[]:: new);
List<Integer> → int[]
Arrays.stsream(result).mapToInt(Intger::intValue).toArray();
return answer.steream().mapToInt(Integer::intValue).toArray();
HashSet을 정렬하고 int[]로 변환
//해시셋의 값을 오름차순 정렬하고 int[] 형태의 배열로 변환하여 반환
return set.stream().sorted().mapToInt(Integer::intValue).toArray();
Map 정렬 후 Key만 int[]로 추출
return fails.entrySet.stream().sorted(o1, o2) -> o1.getValue().equlas(o2.getValue()) ? Intger.compare(o1.getKey(), o2.getKey()) : Double.compare(o2.getValue(), o1.getValue()).mapToInt(HashMap.Entry::getKey).toArray();
Map.Entry 인터페이스란?
- Map 인터페이스의 내부 인터페이스(inner interface) 이다.
- Map에 저장되는 key-value 쌍을 다루기 위해 내부적으로 Entry 인터페이스를 정의해 놓았다.
- Map인터페이스를 구현하는 클래스 에서는 Map.Entry 인터페이스도 함께 구현해야 한다.
- 맵에 저장되는 엔트리의 조작을 위한 메소드가 정의되어있다.
Map.Entry 인터페이스 주요 메서드
| 메소드 | 설명 |
| boolean equals(Object o) | 동일한 Entry 인지 비교한다. |
| Object getKey() | Entry의 key 객체를 반환한다. |
| Object getValue() | Entry 의 value 객체를 반환한다. |
| int hashCode() | Entry 의 해시코드를 반환한다. |
| Object setValue(Object value) | Entry의 value 객체를 지정된 객체로 변경한다. |
728x90
반응형
'코테 > 알고리즘' 카테고리의 다른 글
| [JAVA]Arrays.sort Lambda 정리 (0) | 2025.09.11 |
|---|---|
| [JAVA]위상정렬 알고리즘 (3) | 2025.08.13 |
| [SQL] 코딩 테스트 대비 SQL 문법 정리 (0) | 2025.03.06 |
| [JAVA] 자주 사용하는 코딩테스트 문법 정리 (1) | 2025.02.16 |
| [JAVA] 유니온 파인드(Union-Find) (0) | 2025.02.16 |