devnoong.log
728x90

 

LONG / INT 변수

LONG타입과 INT타입의 변수에 대한 각 자리수에 대한 값을 정렬된 값으로 변경해 새로 저장할 필요가 있다.

이를 위해 각 자리수에 대한 값을 가지고 있는 배열 객체를 생성한다.

  int n = 546545348; or long n = 546545348;
  String[] array = String.valueOf(n).split(""); //배열 생성

 

오름차순 정렬

Arrays.sort 메서드를 이용해 오름차순 정렬을 수행한다.

Arrays.sort(array); //오름차순 정렬

내림차순 정렬

Arrays.sort메서드와 Collections.reverseOrder 메서드를 이용해 내림차순 정렬을 수행한다.

Arrays.sort(array,Collections.reverseOrder()); //내림차순 정렬

 

위에서 정렬된 배열값을 기존의 Long/Int 로 변환하기 위해 Stringbuilder를 이용해 배열을 문자열로 치환해준다.

StringBuilder = sb = new StringBuilder(); //배열 -> 문자열로 치환
for(String s : array){
	sb.append(s);
}
n = Long.parseLong(sb.toString()); or   Integer.parseInt(sb.toString()); // long or int로 변환

LONG/INT [] 배열

오름차순 정렬

Arrays.sort를 이용해 정렬한다.

       int[] Array = {5,2,9,8,2,1}; or long[] Array = {5,2,9,8,2,1};
       Arrays.sort(Array); //오름차순 정렬
       Arrays.stream(Array).forEach(n->{
           System.out.println(n);
       }); 
/*
1
2
2
5
8
9 출력
*/

내림차순 정렬

long/int[] 배열은 Arrays.sort 메서드를 이용해 오름차순 정렬은 가능하지만, 내림차순 정렬은 불가능하다.

그로인해 오름차순된 배열에 대해 배열 뒤집기(reverse)를 수행해 내림차순 정렬된 상태로 변환한다.

   public static void main(String[] args) {
       int[] Array = {5,2,9,8,2,1}; or long[] Array = {5,2,9,8,2,1};
        Arrays.sort(Array); //오름차순 정렬
        rverseArray(Array); // 뒤집기

       Arrays.stream(Array).forEach(n->{
           System.out.println(n);
       });
  
/*
9
8
5
2
2
1  출력  
*/ 

    }

    public static void rverseArray(int[] Array){
        int head = 0;
        int tail = Array.length-1;

        while(head<tail){
            int temp = Array[head];
            Array[head] = Array[tail];
            Array[tail] = temp;

            head++;
            tail--;
        }
    }

DOUBLE[] 배열

오름차순 정렬

Arrays.sort메서드를 이용하여 오름차순 정렬이 가능하다.

       Double[] doubleArray = {2.5 , 3.4,9.9};
        Arrays.sort(doubleArray);
        Arrays.stream(doubleArray).forEach(n->{
            System.out.println(n);
        });
/*        
 2.5
3.4
9.9 출력
*/

내림차순 정렬

Arrays.sort 메서드와 Collection.reverseOrder 메서드를 이용하여 내림차순 정렬이 가능하다.

        Double[] doubleArray = {2.5 , 3.4,9.9};
        Arrays.sort(doubleArray , Collections.reverseOrder());
        Arrays.stream(doubleArray).forEach(n->{
            System.out.println(n);
        });
/*
9.9
3.4
2.5 출력
*/

CHAR[] 배열

오름차순 정렬

Arrays.sort 메서드를 이용해 오름차순 정렬을 수행한다.

   public static void main(String[] args) {
        char[] charArray = "sdfoavbiod".toCharArray();
        Arrays.sort(charArray); // 오름차순 정렬
        System.out.println(String.valueOf(charArray)); //abddfioosv
    }

내림차순 정렬

char[] 배열은 Arrays.sort() 메소드를 이용해 오름차순 정렬은 가능하지만, 내림차순 정렬은 불가능하다.

그로인해 오름차순된 배열에 대해 배열 뒤집기(reverse)를 수행해 내림차순 정렬된 상태로 변환한다.

 public static void main(String[] args) {
        char[] charArray = "sdfoavbiod".toCharArray();
        
        Arrays.sort(charArray); // 오름차순 정렬
        System.out.println(String.valueOf(charArray)); //abddfioosv
        
        reverseArray(charArray);// 내림차순 정렬
        System.out.println(String.valueOf(charArray)); //vsooifddba
    }

    public static void reverseArray(char[] charArray){ // 배열 뒤집기
        int head = 0;
        int tail = charArray.length-1;

        while(head<tail){
            char temp = charArray[head];
            charArray[head] = charArray[tail];
            charArray[tail] = temp;

            head++;
            tail--;
        }
    }

STRING[] 배열

오름차순 정렬

Arrays.sort 메서드를 이용해 오름차순 정렬이 가능하다

        String[] strArray = {"d" , "adfgs" , "vfdfs","basd"};
        Arrays.sort(strArray);
        Arrays.stream(strArray).forEach(s->{
            System.out.println(s);
        });
/*
adfgs
basd
d
vfdfs 출력
*/

내림차순 정렬

Arrays.sort 메서드와 Collections.reverseOrder 메서드를 이용해서 내림차순 정렬이 가능하다.

        String[] strArray = {"d" , "adfgs" , "vfdfs","basd"};
        Arrays.sort(strArray , Collections.reverseOrder());
        Arrays.stream(strArray).forEach(s->{
            System.out.println(s);
        });
/*        
 vfdfs
d
basd
adfgs 출력
*/

LIST

오름차순 정렬

Collection.sort 메서드를 이용해 오름차순 정렬이 가능하다.

       List<Integer> list = new ArrayList<>(List.of(9,5,7,2,1999,2));
       Collections.sort(list); //오름차순 정렬
       list.forEach(n->{
           System.out.println(n);
       });
/*
2
2
5
7
9
1999 출력
*/

내림차순 정렬

Collection.sort 메서드와 Collection.reverseOrder 메서드를 이용해 내림차순 정렬이 가능하다.

       List<Integer> list = new ArrayList<>(List.of(9,5,7,2,1999,2));
       Collections.sort(list,Collections.reverseOrder()); // 내림차순 정렬
       list.forEach(n->{
           System.out.println(n);
       });
       
/*
1999
9
7
5
2
2 출력
*/

 

 

728x90