Comparable

Comparable 과 Comparator 인터페이스의 차이는 무엇인가? Comparable은 자연스러운 순서로 정렬할 때 사용. Comparator는 원하는 대로 정렬 순서를 지정하고 싶은 곳에 사용 배열을 정렬할 때는 일반적으로 Array 나 Collection 클래스의 내장된 라이브러리를 사용한다. Array와 Collection 클래스는 몇 가지 오버로딩된 정렬 메서드가 있다. 배열을 매개변수로 받는 메서드 Comparator 객체를 매개변수로 받는 메서드 @org.junit.Test public void sortInts(){ final int[] numbers = {-3, -5, 1, 7, 4, -2}; final int[] expected = {-5, -3, -2, 1, 4, 7}; Array..
Comparable과 Comparator Comparable, Comparator 항상 헷갈리는 부분이다. 예전에 포스팅을 했지만 항상 까먹기 때문에,,, 책에 나온김에 다시 한번 정리할겸 포스팅을 한다. (https://cornswrold.tistory.com/23)TreeSet, TreeMap은 정렬을 위해 java.lang.Comparable 구현한 객체를 요구한다. 우리가 아는 Wrapper 객체는 모두 Comparable 인터페이스를 구현하고 있다.(Integer, Double, String ..)Comparable에는 compareTo() 메소드가 존재하고 적절하게 오버라이딩하여 정렬을 할 수 있게 한다. 리턴타입메소드설명 intcompareTo(T o)객체가 같으면 0 리턴 주어진 객체보다 ..
Set 구현체 TreeSetTreeSet은 이진검색트리(binary search tree)라는 자료구조의 형태로 데이터를 저장하는 컬렉션 클래스이다. 이진검색트리는 정렬, 검색, 범위검색(range search)에 뛰어난 성능을 보이는 자료구조이며, '레드-블랙 트리'로 구현되어 있다.(이미지 출처) 이진 트리(binary tree)는 링크드리스트처럼 여러 개의 노드가 서로 연결된 구조로, 각 노드에 최대 2개의 노드를 연결할 수 있으며 '루트(root)'라고 불리는 하나의 노드에서부터 시작해서 계속 확장해 나간다.이진트리의 노드를 코드로 표현하면 다음과 같다.12345Class TreeNode{ TreeNode lfet; // 왼쪽 자식노드 Object element; // 객체를 저장하기 위한 Tre..
Comparable 와 Comparator의 사용법Comparable과 Comparator는 정렬과 관련된 인터페이스입니다.(sort()라는 메서드와 관련이 있다고 보시면됩니다.)배열이나 Collections 프레임워크 사용시 sort() 메서드를 사용하면 자동으로 정렬을 시켜줍니다.1234567891011121314151617181920212223242526272829303132package practice; import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List; public class SortImpl { public static void main(String[] args) ..
깡냉쓰
'Comparable' 태그의 글 목록