확두뇌 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]