오늘은 Generic입문 전에 간단한 코드로 몇 가지 기능을 사용하여 감을 잡아보겠다!
Integer 형 list에 랜덤한 값 10개를 넣어 출력하고, 그 다음 출력문은 내림차순으로 정렬하여 출력하는 코드이다.
package test11;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class ListTest {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>(); //Integer형 List 선언
Decending d = new Decending(); //Decending 클래스 선언
Random rand = new Random(); //math.random과 다른 랜덤발생
for(int i = 0; i < 10; i++) {
list.add(i, rand.nextInt(100) + 1); //일반 리스트와는 다르게 list.add 를 사용하여 값을 넣어줘야한다.
//rand.nextInt(0부터 발생했으면 하는 값), 추가로 Double같은 다른 자료형도 쓸 수 있다.
}
System.out.print("정렬 전 : ");
display(list); //출력문
Collections.sort(list,d); //d 대신에 new Decending() 이 들어가도 똑같은 코드가 된다.
System.out.println();
System.out.print("정렬 후 : ");
display(list); //출력문
}
public static void display(List<Integer> list) { //list의 매개변수확인
for(Integer lists : list) { //forEach문
System.out.print(lists + " ");
}
}
}
밑에가 Decending 클래스이다.
package test11;
import java.util.Comparator;
public class Decending implements Comparator<Integer>{ // <>여기에 타입 명시를 해줘야 함.
@Override
public int compare(Integer o1, Integer o2) { //내림차순 설정
if(o1>o2)
return -1; //여기서 양수를 반환하고
else if(o1<o2)
return 1; //여기서 음수를 반환하면 오름차순이 된다. 기본 dafault값은 오름차순이다.
else if(o1==o2)
return 0;
return 0;
}
}
아직 메서드를 어떻게 사용하는지만 알고 정확한 개념은 모르는 상태에서 구글링을 통한 간단한 예제를 풀어보았다.
다음글에는 Gereric에 대해 배우면서 정확하게 정리해보겠다.
'JAVA 정리노트' 카테고리의 다른 글
Java Thread에 대하여 (0) | 2024.02.13 |
---|---|
Big-O Notation, (시간,공간 복잡도) (0) | 2024.02.11 |
JAVA [GC, Garbage Collection] 정리본 (0) | 2024.02.03 |
JAVA I/O, stream에 대하여 (0) | 2024.02.02 |
JAVA의 기본 API (2) | 2024.01.31 |