본문 바로가기

Comparable2

[JAVA] - Comparable과 Comparator를 활용한 객체 정렬 이번에는 지난 글에서 다뤘던 Comparable과 Comparator를 활용하여 정렬해보는 시간을 가져보겠습니다. 지난 글을 전부 이해하셨다면 이번 글은 금방 이해하실 수 있을겁니다. 두 인터페이스를 간단히 정리해보면 이렇습니다. Comparable - compareTo(T o) 추상 메서드를 가진 인터페이스 (자신과 객체 o를 비교) Comparator - compare(T o1, T o2) 추상 메서드를 가진 인터페이스 (o1 객체와 o2 객체를 비교) 그리고 여기서 한가지 알고 가셔야 할 점이 있습니다. 대부분 프로그래밍에서의 정렬은 오름차순이 디폴드입니다. 오름차순의 특징을 한번 볼까요? {1, 2, 3, 4, 5} 보시면, 앞의 값이 뒤에 값보다 작습니다. 그러면 앞의 값 - 뒷 값 을 하면 음.. 2023. 2. 5.
[JAVA] - Comparable과 Comparator의 차이 및 이해 우리는 무언가를 비교할 때 부등호를 이용해서 하죠. 예를들어 10과20을 비교할 때, 우리는 무엇이 큰지를 판단 할 수 있고 컴퓨터도 와 같은 비교연산자를 통해 바로 결과를 알려주죠. 그런데, 자바는 객체지향 언어입니다. 물론 그 속에 어떤 정수나, 실수 같은 값들을 연산할 일도 분명 많이 있지만, 객체끼리의 비교는 어떻게 할까요? 클래스에는 다양한 인스턴스 변수가 있습니다. 만약 Student 라는 클래스에 나이(age)와 반(classNumber)가 있다고 가정해 봅시다. 그리고 생성자를 통해 나이와 반을 매개변수로 받습니다. class Student { int age; int classNumber; Student(int age, int classNumber) { this.age = age; this.. 2023. 2. 5.