Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 입출력
- 숫자야구
- 컨텍스트 초기화 객체
- 자바문제
- 자바I/O
- 예제
- 자바설치
- 자바 암호화
- 서블릿 동작방식
- OOP
- Servlet
- File
- 서블릿 파라미터
- 자바기초
- 객체
- 스택
- 오라클
- SQL
- java
- DA#
- 조건문
- 자바공부
- 스트림
- 테이블 설계
- 서블릿
- 설치방법
- 서블릿 예제
- 서블릿 값 가져오기
- 자바객체
- 자바
Archives
- Today
- Total
다양한 관심 :)
JAVA- Collection (LIST SORT) 본문
배열의 정렬 : 오름차순 , 내림차순
- 정렬전에는 입력한 순서대로 나온다.
- 정렬해주는 명령어 : Collections.sort()
- 정렬은 기본적으로 오름차순으로 정렬을 수행 : 내부정렬방식이 오름차순
ArrayList<String> list = new ArrayList<>();
list.add("일지매");
list.add("홍길동");
list.add("성춘향");
list.add("변학도");
list.add("이순신");
System.out.println("정렬 전 : " + list); //정렬전에는 입력한 순서대로 나옴
System.out.println("\n---sort 매서드를 사용---");
Collections.sort(list);
System.out.println("정렬 후 : " + list);
System.out.println("\n---shuffle 매서드를 사용 ---");
Collections.shuffle(list);
System.out.println("자료 섞기 후 : " + list);
외부정렬 기준 : 클래스를 지정해서 정렬하기 (내림차순 정렬)
* 방법 : 정렬 방식을 정해주는 class를 작성(=외부기준 클래스)
Comparator 인터페이스를 구현해서 작성한다.
더보기
* Compare()메서드를 재정의해서 정렬하고자 하는 기준을 정한다.
compare()메서드의 반환값
: 반환값이 0 --> 두 값이 같다.
: 반환값이 음수 --> 순서를 변경하지 않는다.
: 반환값이 양수 --> 앞, 뒤 값의 순서를 변경한다.
예) 오름차순일 경우 ==> 앞의 값이 크면 반환값이 양수, 같으면 0, 뒤의값이 크면 음수 (= return 값)
String 객체에는 정렬을 위해서 compareTo()메서드가 구현되어 있는데
이 메서드의 반환값은 오름차순에 맞게 반환되도록 구현되어 있다.
형식 ) 앞 문자열.compareTo(뒤문자열);
(Wrapper 클래스와 Date, File클래스에도 구현되어 있다.)
class Desc implements Comparator<String>{
@Override
public int compare(String str1, String str2) {
//내림차순으로 정렬되도록 구현하기
//1. if문 사용
if(str1.compareTo(str2) > 0) {
return -1;
}else if(str1.compareTo(str2)==0) {
return 0;
}else {
return 1;
}
//2. 2번째 방법
//반환해주는 값에 부호를 반대로 들어가게 함
//String만 가능
return str1.compareTo(str2) * -1;
}
'프로그래밍 공부 > JAVA' 카테고리의 다른 글
JAVA- Collection (LIST) (0) | 2020.11.03 |
---|---|
JAVA- Collection ( Vector) (0) | 2020.11.03 |
JAVA - File Test(파일크기, 경로 ) (0) | 2020.11.02 |
JAVA-FILE 디렉토리(폴더) 만들기 (0) | 2020.11.02 |
Java- File 객체 만들기 (0) | 2020.11.02 |