ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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

    댓글

Designed by Tistory.