728x90
728x90
ArrayList에서 사용 가능한 메서드 중 오름차순과 내림차순 기능을 하는 메서드에 대해 알아보자.
위에서 사용된 예제를 이용.
import java.util.*;
public class Q {
public static void main(String[] args) {
ArrayList list1 = new ArrayList(10); //1
list1.add(5);
list1.add(4);
list1.add(2);
list1.add(0);
list1.add(1);
list1.add(3);
ArrayList list2 = new ArrayList(list1.subList(1, 4)); //1
print(list1, list2);
Collections.sort(list1); //2
Collections.sort(list2);
print(list1, list2);
System.out.println("list1.containAll(list2) : "+ list1.containsAll(list2)); //3
list2.add("B");
list2.add("C");
list2.add(3,"A"); //4
print(list1, list2);
list2.set(3, "AA"); //5
print(list1, list2);
System.out.println("list1.retainAll(list2) : " +list1.retainAll(list2)); //6
print(list1, list2);
for(int i=list2.size()-1; i>=0; i--) {
if(list1.contains(list2.get(i))) {
list2.remove(i); //7
}
}
print(list1, list2);
}
static void print (ArrayList list1, ArrayList list2) {
System.out.println("list1 : " + list1);
System.out.println("list2 : " + list2);
System.out.println();
}
}
//2 : 오름차순과 내림차순에 대해 알아보자!
ArrayList list1 = new ArrayList(10);
list1.add(5);
list1.add(4);
list1.add(2);
list1.add(0);
list1.add(1);
list1.add(3);
// 2.1.1 ArrayList 배열 내 요소 오름차순 : Collections.sort
Collections.sort(list1);
list1.sort(null);
list1.sort(Comparator.naturalOrder());
✓ list1 출력 결과 : [0, 1, 2, 3, 4, 5]
sort메소드에 대한 java doc에서는 list.sort(null)은 list.sort(Comparator.naturalOrder()) 와 같다고 설명하고 있으며, 실제로도 같다
// 2.1.2 ArrayList 배열 내 요소 내림차순 : Collections.reverse
Collections.sort(list1);
Collections.reverse(list1);
✓ list1 출력 결과 : [5, 4, 3, 2, 1, 0]
내림차순 기능을 하는 메서드는 Collections.reverseOrder()이나, ArraysList에서는 지원을 하지 않는다.
그래서 오름차순 sort를 하고,
배열의 순서를 반대로 받게하는 reverse 메서드를 사용하여 내림차순을 하였다.
728x90
//example
String [] e = {"1", "2","3","4","5"};
// 2.2.1 배열 내 요소 오름차순 : Arrays.sort :Arrays.sort(a);
Arrays.sort(e);
✓ e 출력 결과 : [1, 2, 3, 4, 5]
- 배열 e 내 요소들을 오름차순으로 정렬
// 2.2.2 배열 내 요소 내림차순 : Collections.reverseOrder() : Arrays.sort(arr, Collections.reverseOrder());
Arrays.sort(e, Collections.reverseOrder());
✓ e 출력 결과 : [5, 4, 3, 2, 1]
- //2.2.1 에서 Arrays.sort()를 이용한 배열 arr내 요소들의 오름차순을 내림차순으로 정렬
- String, Integer, Double 과 같은 Object type 배열에서 정렬 지원 : int 지원 X
[출처]
https://manorgass.tistory.com/60
728x90
728x90
'초보 개발자의 스터디룸' 카테고리의 다른 글
[GitHub] 이클립스 깃허브 연동 (0) | 2022.12.10 |
---|---|
[Mac M1] 소소한 맥북 무료 앱 추천(AltTab, Hidden Bar 등) (0) | 2022.12.08 |
[Java] ArrayList - 2(다양한 메서드 : subList, add, remove) (0) | 2022.11.28 |
[Java] ArrayList - 1(생성) (0) | 2022.11.28 |
[Java] Collections Framework(List, Set, Map)이란? (1) | 2022.11.28 |