전체소스
package kr.or.ddit.basic;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class TO3ListSortTest {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("일지매");
list.add("홍길동");
list.add("성춘향");
list.add("변학도");
list.add("이순신");
System.out.println("정렬 전 : " + list);
/*
* 정렬은 Collections.sort() 메서드를 이용하여 정렬한다.
* 정렬은 기본적으로 '오름차순' 정렬을 수행한다. [사전순으로 정렬됨]
* //static 메소드 - instance 메소드가 있다. 개념정리
*/
Collections.sort(list); //오름차순으로 정렬하기.
System.out.println("정렬 후 : " + list);
Collections.shuffle(list); //섞기 처리
System.out.println("섞기 후 : " + list);
Collections.sort(list , new Desc());
System.out.println("외부정렬자를 이용한 정렬 후 : " + list);
//sort = 오름차순 정렬
//shuffle = 섞기
//
}
}
class Desc implements Comparator<String> {
@Override
public int compare(String str1, String str2) {
/*
* compare() 메서드의 반환값을 결정하는 방법.
*
* - 오름차순 정렬일 경우...
* => 앞의 값이 크면 양수 , 같으면 0, 뒤의 값이 크면 음수를 반환하도록 구현한다.
*
*/
// return str1.compareTo(str2);
return str1.compareTo(str2) * -1; //내림차순 효과
}
}
전체 결과값
Sort 사용 구문
public class TO3ListSortTest {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("일지매");
list.add("홍길동");
list.add("성춘향");
list.add("변학도");
list.add("이순신");
System.out.println("정렬 전 : " + list);
Collections.sort(list); //오름차순으로 정렬하기.
System.out.println("정렬 후 : " + list);
결과값
Shuffle 사용구문
public class TO3ListSortTest {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("일지매");
list.add("홍길동");
list.add("성춘향");
list.add("변학도");
list.add("이순신");
Collections.shuffle(list); //섞기 처리
System.out.println("섞기 후 : " + list);
결과값
외부정렬자 사용 Sort 구문
public class TO3ListSortTest {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("일지매");
list.add("홍길동");
list.add("성춘향");
list.add("변학도");
list.add("이순신");
System.out.println("정렬 전 : " + list);
Collections.sort(list , new Desc());
System.out.println("외부정렬자를 이용한 정렬 후 : " + list);
class Desc implements Comparator<String> {
@Override
public int compare(String str1, String str2) {
// return str1.compareTo(str2); //오름차순 효과
return str1.compareTo(str2) * -1; //내림차순 효과
}
}
/*
* 정렬은 Collections.sort() 메서드를 이용하여 정렬한다.
* 정렬은 기본적으로 '오름차순' 정렬을 수행한다. [사전순으로 정렬됨]
* //static 메소드 - instance 메소드가 있다. 개념정리
*/
결과값
■ Compart To
* 정렬은 기본적으로 오름차순 정렬을 수행한다.
■ Static
* 클래스를 설계할떄 멤버변수중 모든 인스턴스에 공통적으로 사용해야하는것에 static을 붙인다.
* static이 붙은 멤버변수는 인스턴스를 생성하지 않아도 사용할 수있다.
* 정적인 혹인 고정된 정지 상태이며 정적인 특성을 가지고있다.
* 전역 변수와 비슷한 특징을 가지며 공간을 할당받고 초기화가 이루어지면 프로그램이 종료될떄까지 소멸되지않음
■ Sort
* 현재 입력된 값을 오름차순 하여 정렬한다.
■ Shuffle
* 현재 입력된 값을 섞어서 출력한다.
'자바 객체 지향 프로그래밍' 카테고리의 다른 글
24-01-22 / Hash Set 함수 T05HashSetTest (1) | 2024.01.24 |
---|---|
Ex)T04ListSortTest Comparable , Comparator 차이 (0) | 2024.01.20 |
Stack , Queue 사용방법 + linkedlist , ArrayList 해석 Ex) T02LinkedListTest (0) | 2024.01.20 |
ArrayList [add , size , get , temp , remove ] 사용방법 Ex) T01 ArrayListTest (0) | 2024.01.19 |
24-01-19 객체 지향 프로그램 첫 교육 내용 (0) | 2024.01.19 |