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 출력
*/
'JAVA' 카테고리의 다른 글
[JAVA] JAVA 객체 정렬 및 데이터 비교하는 방법 (compareTo 오버라이딩) (0) | 2023.07.07 |
---|---|
[Java] String vs StringBuilder vs StringBuffer 비교하기 (0) | 2023.05.08 |
[JAVA] Public Static 생성자 개념 및 문제점 , static 블록 이용하기 (0) | 2023.04.14 |
[JAVA] Collectors 인터페이스 개념 및 사용법 (0) | 2023.04.12 |
[JAVA] ENUM 클래스 개념 및 사용법 (0) | 2023.04.11 |