본문 바로가기
JAVA

JAVA - ArrayList를 알고리즘(버블정렬)과 메소드로 정렬해보자

by 스노위13 2022. 5. 23.

먼저 ArrayList에 값을 넣어 주었다. 숫자는 아무렇게나 넣어 주었다. (30, 1, 23, 456, 65를 넣었음)

1
ArrayList<Integer> numbers = new ArrayList<Integer>(Arrays.asList(3012345665));


cs

1. 알고리즘(버블정렬)로 정렬하기

1
2
3
4
5
6
7
8
9
10
11
for (int j = 0; j < numbers.size(); j++) {
    for (int i = 0; i < numbers.size()-1; i++) {
        if (numbers.get(i) > numbers.get(i+1)) {
            // i > i+1하면 오름차순
            //i < i+1하면 내림차순
            int tmp = numbers.get(i);
            numbers.set(i, numbers.get(i+1));
            numbers.set(i+1, tmp);
        }
    }
}
cs

이때 주의해야 하는 점은 
i > i+1하면 오름차순이고, 
i < i+1하면 내림차순이라는 것이다. 

2. 메소드를 이용해서 정렬하기

1
2
3
4
5
6
7
// 오름차순 메소드 
Collections.sort(numbers);
System.out.println("sort 오름차순:" + numbers);
 
// 내림차순 메소드 
Collections.sort(numbers, Collections.reverseOrder());
System.out.println("sort 내림차순:" + numbers);
cs

 

결과

 

댓글