[Java] Stream()의 기초 문법 및 예시코드

2025. 6. 26. 10:57·코테/알고리즘
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
'코테/알고리즘' 카테고리의 다른 글
  • [JAVA]Arrays.sort Lambda 정리
  • [JAVA]위상정렬 알고리즘
  • [SQL] 코딩 테스트 대비 SQL 문법 정리
  • [JAVA] 자주 사용하는 코딩테스트 문법 정리
lakedata
lakedata
lakedata 님의 블로그 입니다.
  • lakedata
    lakedata 님의 블로그
    lakedata
  • 전체
    오늘
    어제
    • 분류 전체보기 (188)
      • cs (82)
        • dev (28)
        • sec (29)
        • ops (25)
      • 자격증 (32)
        • 정보처리기사 (20)
        • 정보보안기사 (1)
        • aws dva (6)
        • aws dop (2)
      • IT서적 (27)
        • 클린아키텍처 (10)
        • 객체지향의사실과오해 (7)
        • 오브젝트 (10)
      • 코테 (42)
        • 알고리즘 (20)
        • 백준 (13)
        • 프로그래머스 (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    SQL
    Spring
    Java
    알고리즘
    Security
    AWS
    CS
    docker
  • 최근 댓글

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
lakedata
[Java] Stream()의 기초 문법 및 예시코드
상단으로

티스토리툴바