devnoong.log
728x90

 

1. LONG / INT 변수

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

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

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

 

1.1. 오름차순 정렬

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

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

1.2. 내림차순 정렬

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

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

 

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

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

2. LONG/INT [] 배열

2.1. 오름차순 정렬

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

<java />
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 출력 */

2.2. 내림차순 정렬

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

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

<java />
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--; } }

3. DOUBLE[] 배열

3.1. 오름차순 정렬

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

<java />
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 출력 */

3.2. 내림차순 정렬

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

<java />
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 출력 */

4. CHAR[] 배열

4.1. 오름차순 정렬

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

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

4.2. 내림차순 정렬

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

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

<java />
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--; } }

5. STRING[] 배열

5.1. 오름차순 정렬

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

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

5.2. 내림차순 정렬

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

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

6. LIST

6.1. 오름차순 정렬

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

<java />
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 출력 */

6.2. 내림차순 정렬

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

<java />
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