목록Java (3)
05AM
`Comparable`과 `Comparator`는 객체의 정렬을 위해 사용되는 인터페이스입니다. 두 인터페이스는 서로 다른 방식으로 정렬 기준을 정의합니다.🔷 `Comparable`Comparable 인터페이스는 객체 자체에 기본 정렬 기준을 정의하고자 할 때 사용됩니다. 이 인터페이스를 구현하는 클래스는 자연 정렬(natural ordering)을 가지게 됩니다. 예를 들어, 숫자는 오름차순, 문자열은 사전순 등이 있습니다. 사용 상황:클래스의 기본 정렬 순서를 정의하고 싶을 때객체의 기본 정렬 기준이 하나만 있을 때Comparable 인터페이스는 `compareTo` 메서드를 하나 가지고 있습니다.➡️ 구조public class ClassName implements Comparable { @O..
🔷 `collect()`Java Stream API의 메서드로, 스트림의 요소를 다양한 컬렉션으로 수집하거나 특정한 방식으로 집계하는데 사용된다.`collect` 메서드는 주로 Collector를 인수로 받아 스트림의 요소를 수집한다.// List로 수집List wordList = words.stream().collect(Collectors.toList());// Set으로 수집Set wordSet = words.stream().collect(Collectors.toSet());Stream (Java SE 11 & JDK 11 ) (oracle.com)🔷 `Collectors`다양한 유틸리티 메서드를 제공하는 클래스로, 주로 스트림의 요소를 컬렉션으로 수집하거나 특정한 집계 연산을 수행할 때 사용된다..
☀️ 배경 코딩 테스트를 준비하며 java의 여러 메소드를 익히던 중 궁금한 점이 생겼다. `java.lang.String` 자체의 메소드들도 다양하게 존재하는데 `java.util.StringBuilder`나 `java.util.StringBuffer`를 사용하는 이유가 무엇일까? 아래에서 그 이유를 알아보자. ☀️ 불변 문자열 클래스 String `String` 클래스는 불변한 문자열을 나타내며, 한 번 생성되면 내용을 변경할 수 없다. `String` 클래스는 내부적으로 문자열을 문자 배열(`char[]`)에 저장한다. 문자 배열은 변경할 수 있는 가변 객체가 아니기 때문에 문자열 내용을 수정하는 것이 불가능하다. 예를 들어 'Hello'라는 문자열을 생성하면 다음과 같이 문자 배열에 저장된다. [..