공부/알고리즘
정렬
확두뇌
2024. 4. 4. 20:04
- String ArrayList 정렬
ArrayList<String> list = new ArrayList<String>();
list.add("5");
list.add("3");
Collections.sort(list);
Collections.sort(list, new Comparator<String>(){
@Override
public int compare(String a, String b){
if(a.compareTo(b) == 0){
return "동일함";
}
return a.compareTo(b);
}
});
- String[ ] 정렬
String[] arr = {"a", "b", "c"};
Arrays.sort(arr);
- int[]를 String[]으로 바꿔서 정렬
// int 배열을 String 배열로 변환
String[] strings = Arrays.stream(numbers)
.mapToObj(String::valueOf)
.toArray(String[]::new);
// 문자열을 비교하는 Comparator 사용
Arrays.sort(strings, new Comparator<String>(){
@Override
public int compare(String a, String b){
return Integer.parseInt(a) - Integer.parseInt(b); // 정수로 변환하여 비교
}
});
- int[]를 Integer[]로 바꿔서 정렬
// Integer[]로 변경
Integer[] integers = Arrays.stream(numbers).boxed().toArray(Integer[]::new);
// 정렬
Arrays.sort(integers, new Comparator<Integer>(){
@Override
public int compare(Integer a, Integer b){
return a - b; // 오름차순 정렬
}
});
- int[][]를 두번째 항 기준으로 내림차순 정렬
int[][] jList = new int[n][2];
Arrays.sort(jList, (o1, o2) -> o2[1] - o1[1]);
//결과
//[2, 99]
//[1, 65]
//[5, 23]