-
[JAVA] 정렬(Sorting)프로그래밍 공부/JAVA 2021. 3. 8. 20:12
Arrays.sort
자바에서 제공해주는 sort 메서드를 이용하여 쉽게 배열을 정렬할 수 있다.
오름차순 정렬(default): Arrays.sort()
import java.util.Arrays //정렬 메서드를 사용하기 위해 포함한다. public class Main{ public static void main(String[] args){ int[] intArray = {5,1,3,2,4}; String[] stringArray = {"banana", "apple", "peach"}; Arrays.sort(intArray); //결과: 1,2,3,4,5 Arrays.sort(stringArray);//결과: "apple", "banana", "peach" } }
숫자와 문자와 같이 복합적으로 나타나는 배열을 정렬하게 되면
숫자 > 대문자 > 소문자 > 한글 순으로 정렬이 된다.
내림차순 정렬 : Arrays.sort(arr, Collections.reverseOrder())
import java.util.Arrays //정렬 메서드를 사용하기 위해 포함한다. import java.util.Collections //collection 매서드를 사용하기 위해 포함 public class Main{ public static void main(String[] args){ int[] intArray = {5,1,3,2,4}; String[] stringArray = {"banana", "apple", "peach"}; Arrays.sort(intArray, Collections.reverseOrder()); //결과: 5,4,3,2,1 Arrays.sort(stringArray, Collections.reverseOrder());//결과:"peach","banana","apple" } }
Collections.sort
자바 collection을 이용한 배열들은 collection.sort를 이용하여 쉽게 정렬할 수 있다.
오름차순 정렬(default): Collections.sort()
import java.util.Arrays; import java.util.Collections; public class Main{ public static void main(String[] args){ ArrayList<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(5); list.add(4); list.add(2); list.add(3); Collections.sort(list); //결과: 1,2,3,4,5 } }
한글 > 소문자 > 대문자 > 숫자 순으로 정렬된다.
내림차순 정렬: Collections.reverse()
import java.util.Arrays; import java.util.Collections; public class Main{ public static void main(String[] args){ ArrayList<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(5); list.add(4); list.add(2); list.add(3); Collections.reverse(list); //결과: 5,4,3,2,1 } }
객체 정렬
Comparable 인터페이스를 이용하여 다양한 element가 존재하는 클래스도 정렬 가능하다.
import java.util.Collections; public class Main{ public static class Student implements Comparable<Student>{ int num; String name; @Override public int compareTo(Student o){ return this.num-o.num; //오름차순 정렬 } } public static void main(String[] args){ ArrayList<Student> s= new ArrayList<Student>(); Collections.sort(s); } }
'프로그래밍 공부 > JAVA' 카테고리의 다른 글
JAVA 특징 정리 (0) 2021.07.06 [JAVA] I/O BufferedReader와 StringBuilder (0) 2021.03.24 [JAVA] 형변환 (0) 2021.03.06 [JAVA] Collection 자료구조 정리 (0) 2021.03.04