728x90
java는 java.util.Arrays 클래스의 sort() 메서드를 사용하면 간편하게배열 및 리스트를 오름차순으로 정렬 할 수 있다.
Arrays 클래스는 배열의 복사, 항목 정렬, 검색과 같은 배열 조작 기능을 가지고 있다.
배열의 오름차순 정렬
import java.util.Arrays;
public class test {
public static void main(String[] args) {
int arr[] = { 6, 111, 34, 3453, 457, 57, 234, 435 };
int size = arr.length;
Arrays.sort(arr);
for (int i = 0; i < size; i++) {
System.out.println(arr[i]);
}
}
}
결과
*** String형도 같다
배열의 내림차순 정렬
public class test {
public static void main(String[] args) {
Integer arr[] = { 6, 111, 34, 3453, 457, 57, 234, 435 };
int size = arr.length;
Arrays.sort(arr,Collections.reverseOrder());
for (int i = 0; i < size; i++) {
System.out.println(arr[i]);
}
}
}
내림차순 정렬일때는 int형은 Integer 형으로 사용해주자.
** String형도 이와 같다
객체의 내림차순 정렬
import java.util.Arrays;
class People implements Comparable {
private String name;
private int age;
public People(String name, int age){
this.name = name;
this.age= age;
}
public String print(){
return name+"("+age+")";
}
@Override
public int compareTo(People people) {
// TODO Auto-generated method stub
if (this.age < people.age) {
return -1;
} else if (this.age == people.age) {
return 0;
} else {
return 1;
}
}
}
public class Sort{
public static void main(String[] args) {
People[] arr = { new People("상현", 20)
, new People("철수", 14)
, new People("경완", 31)
, new People("대호", 40)
, new People("지운", 24)
};
Arrays.sort(arr); //오름차순 정렬
for (People i : arr) { //오름차순 출력
System.out.print("["+i.print()+"]");
}
Arrays.sort(arr,Collections.reverseOrder()); //내림차순 정렬
System.out.println();
for (People i : arr) { //내림차순 출력
System.out.print("["+i.print()+"]");
}
}
}
key와 value값으로 저장되는 객체배열의 경우에는 value값을 기준으로 정렬된다.
728x90
'JAVA > 자바' 카테고리의 다른 글
[JAVA] String에서 ==와 equals()의 차이점 (0) | 2022.02.20 |
---|---|
Java 문자열 나누기 - substring , indexOf , charAt (0) | 2021.12.29 |
Java 입력 받은 값을 배열에 저장 (0) | 2021.12.11 |
extends 와 implements의 차이 - 상속 (0) | 2021.08.13 |
Iterator와 map의 반복문 (0) | 2021.08.06 |