[JAVA] StringJoiner: 문자열 구분자 추가하기
·
JAVA/String
0. 서론 간혹 문자열 중간 공백을 넣거나 쉼표를 넣어주는 경우, 코드가 번잡해지는 경향이 있다. 이 때, StringJoiner를 이용하면 손쉽게 구현이 가능하다. StringJoiner(CharSequence delimiter) StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix) delimiter: 구분자 prefix: 접두사 suffix: 접미사 1. 사용법 1-1. 기본 사용법 구분자만 사용했을 때, List list = List.of("Andrew", "Brian", "Chris", "Daniel", "Emily"); StringJoiner stringJoiner = new StringJoiner(", ")..
[JAVA] Stream: groupingBy() 함수
·
JAVA/Stream
0. 서론 Collectors.groupingBy() 함수는 SQL에서의 'GROUP BY' 절과 유사한 함수이다. groupingBy(classifier) groupingBy(classifier, collector) groupingBy(classifier, supplier, collector) groupingBy() 함수는 collector에 조건으로 "GROUP BY" 작업을 진행한 후 결과를 Map으로 반환한다. classifier: 반환된 Map의 key collector: 반환된 Map의 value이며, 기본값은 Collectors.toList() supplier: 생성되는 Map의 형태를 결정하며, TreeMap, LinkedHashMap or ConcurrentMap과 같은 다른 맵으로 설정..
[JAVA] Stream: boxed() 함수 (feat. 형 변환)
·
JAVA/Stream
0. 서론 Java Stream API는 Collections API와 유사하게 object와 함께 동작하도록 설계된 API입니다. 그러나 Stream은 원시 타입(Primitive Type)은 object처럼 다루지 못한다. Stream API에는 3가지 stream of primitives가 존재한다. 해당 stream of primitives를 stream of objects로 변환시켜주는 함수가 바로 boxed()이다. IntStream → Stream LongStream → Stream DoubleStream → Stream 1. 사용법 아직까지 IntStream을 사용한 적은 없고, 주로 int[]를 바로 stream으로 활용할 때 boxed() 함수를 사용한다. 1-1. int[ ] → Li..