일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 재택근무
- 안드로이드
- 한달어스
- 어떻게 나답게 살 것인가
- 한달브런치북만들기
- 목적 중심 리더십
- 한달독서
- 소프시스 밤부 좌식 엑슬 테이블
- 자취필수템
- T자형인재
- 리얼하다
- 끝말잇기
- 소프시스
- 1일1커밋
- 베드트레이
- 테트리스
- 슬기로운 온라인 게임
- 아비투스
- 북한살둘레길
- 지지않는다는말
- 좌식테이블
- 함수형 프로그래밍
- 프래그먼트
- 캐치마인드
- 한단어의힘
- 목적중심리더십
- 브런치작가되기
- 면접
- 커스텀린트
- 베드테이블
- Today
- Total
정상에서 IT를 외치다
JAVA 에서의 정렬 본문
- Primitive 타입인 경우
int[] data = new int[capacity]
//data[0] 에서 data[capacity-1]까지 데이터가 꽉 차있는 경우
Arrays.sort(data);
//size개의 데이터만 있는 경우
Arrays.sort(data, 0, size);
- 객체 경우
String[] fruits = new String[] {"Pineapple", "Apple", "Banana" ...};
Arrays.sort 사용 동일
- 사용자 정의 객체
Fruit[] fruits = new Fruit[4];
fruits [0] = new Fruit("Pineapple", 70);
...
1. Comparable Interface
class Fruit implements Comparable<Fruit> {
String name; //이름
int quantity; //재고
publid Fruit(String name, int quantity) {
this,name = name;
this.quantity = quantity;
}
public int compareTo(Fruit other) {
return name.compareTo(other.name); // 이름순
return quantity - other.quantity; // 재고수량 순
}
}
2. 두 가지 기준을 동시에 지원하고 싶으면?
- Comparator 을 사용해야 한다.
Camparator<Fruit> nameComparator = new Comparator<Fruit>() {
public int compare(Fruit fruit1, Fruit fruit2) {
return fruit1.name.compareTo(fruit2.name);
}
};
Camparator<Fruit> quantComparator = new Comparator<Fruit>() {
public int compare(Fruit fruit1, Fruit fruit2) {
return fruit1.quantity - fruit2.quantity);
}
};
->Fruit
class Fruit {
String name; //이름
int quantity; //재고
publid Fruit(String name, int quantity) {
this,name = name;
this.quantity = quantity;
}
Public static Camparator<Fruit> nameComparator = new Comparator<Fruit>() {
public int compare(Fruit fruit1, Fruit fruit2) {
return fruit1.name.compareTo(fruit2.name);
}
};
Public static Camparator<Fruit> quantComparator = new Comparator<Fruit>() {
public int compare(Fruit fruit1, Fruit fruit2) {
return fruit1.quantity - fruit2.quantity);
}
};
}
Arrays.sort(fruits, nameComparator)
- ArrayList 경우
List<String> fruits = new ArrayList<String>();
fruits .add("Pineapple")
fruits .add("Apple")
fruits .add("Banana")
Collections.sort(fruits)
'개발' 카테고리의 다른 글
Synchronous, Asynchronous, Blocking, Non-Blocking (0) | 2021.01.19 |
---|---|
[Layer Architecture] 레이어 아키텍처 (2) | 2019.06.07 |
[Recursion] 재귀함수 (0) | 2019.01.29 |
[Django] Cookiecutter 설치 (0) | 2018.10.09 |
[Django] Django 환경 설정 (0) | 2018.10.09 |