본문 바로가기

자바85

[JAVA] 자바8 Stream Collector의 사용 방법 및 다양한 예제 [JAVA] 자바8 Stream의 Collectors 사용 방법 및 다양한 예제 스트림은 중간연산과 최종연산으로 구분된다 이번 포스팅은 스트림의 최종연산인 collect에 인수로 사용되는 Collectors에 대한 사용 방법 및 다양한 예제이다. Stream.collect는 최종 연산이 수행되면서 스트림의 요소를 소비해 collect 메서드 Collector 인터페이스 구현을 전달해 스트림의 요소를 각각 다른 결과들로 반환 한다. 따라서 Collector 인터페이스의 메서드를 어떻게 구현하느냐에 따라 어떤 리듀싱 연산을 수행할지 결정 된다. * Collectors 클래스 "모던 자바 인 액션" 을 보면 Collectors에서 제공하는 메서드의 기능은 크게 세 가지로 구분한다고 한다. 스트림 요소를 하나의.. 2023. 9. 18.
[JAVA] 자바8 스트림 Map.Entry를 활용해 키(key) 또는 값(value)을 기준으로 Map(맵)정렬하기 2 이번 포스팅은 자바 8 스트림을 이용해 Map 정렬하기 두번째 이다. 지난 번에는 Map 타입을 정렬하고, Collectors.toMap에 대한 사용법을 작성했다. [JAVA] 자바8 스트림 Map.Entry를 활용해 키(key) 또는 값(value)을 기준으로 Map(맵)정렬하기 1 [JAVA] 자바8 스트림 Map.Entry를 활용해 키(key) 또는 값(value)을 기준으로 Map(맵)정렬하기 1 이번 포스팅은 자바 8 스트림(Stream)을 이용해 HashMap의 키 또는 Value를 기준으로 내림차순, 오름차순 정렬을 해본다. 테스트를 위해 Map의 key,value 타입은 Map 타입으로 설정 했으며, Key는 순번, value 0 anianidindin.tistory.com 이번에는 이어서.. 2023. 9. 13.
[JAVA] 자바8 스트림 Map.Entry를 활용해 키(key) 또는 값(value)을 기준으로 Map(맵)정렬하기 1 이번 포스팅은 자바 8 스트림(Stream)을 이용해 HashMap의 키 또는 Value를 기준으로 내림차순, 오름차순 정렬을 해본다. 테스트를 위해 Map의 key,value 타입은 Map 타입으로 설정 했으며, Key는 순번, value 0~100까지의 랜덤 정수 10개를 put 했다. 먼저 map을 키 또는 값을 기준으로 정렬하기 위해서는 Map 인터페이스 내부의 Entry 인터페이스에 대해 알아야 한다. Entry는 Map에 저장되는 key-value 쌍을 다루기 위해 Map의 내부 인터페이스로 정의되어 있다. 맵 컬렉션에 대한 자세한 설명은 아래 주소에 자세히 설명이 되어있다. http://www.tcpschool.com/java/java_collectionFramework_map * Map 정.. 2023. 9. 12.
[JAVA] 자바 객체 리스트(List) 정렬하기 (오름, 내림차순) 자바에는 Arrays.sort 등 다양한 방식으로 리스트를 정렬할 수 있다. 이 포스팅은 배열을 간단하게 오름차순, 내림차순으로 정렬하는 방법을 보여준다. 먼저 테스트를 위해 클래스를 만들고 데이터를 정의한다. 1. 오름차순 정렬 Collections.sort(godList); for(God g : godList) { System.out.println(g); } 위와 같이 코드를 실행하면 아래와 같이 출력된다 godList의 경우 List 타입이다. List 타입이라면 값이 명확하게 정수형이기 때문에 오름차순으로 정렬이 되었을 것이다. 그러나 God는 객체이기 때문에 어떤 값을 기준으로 정렬을 하는지 알 수 없어 정렬이 진행되지 않았다. Collections의 sort 메서드를 보면 파라미터로 List와.. 2023. 9. 11.
[JAVA] 자바8 메서드 참조 (Method reference) 이중콜론 :: * 메서드 참조란? 특정 메서드만을 호출하는 람다의 축약형이라고 볼 수 있다. 즉, 기존 메서든 구현으로 람다 표현식을 만들 수 있으며 이중콜론(::)을 사용해 명시적으로 메서드명을 참조함으로써 더 간결하게 가독성을 높일 수 있다. * 메서드 참조 사용방법 메서드 참조의 유형은 4가지가 존재한다. 1. 정적 메서드 참조 Ex) Integer의 parseInt 메서드는 정적(static) 메서드 이므로 바로 위 사진과 같이 Integer::parseInt 로 사용할 수 있다. 2. 다양한 형식의 인스턴스 메서드 참조 Ex) String의 length() 메서드는 인스턴스 메서드로 다음과 같이 사용한다 String a = "a"; IntSupplier i = a::length; int num = i.getA.. 2023. 9. 9.