반응형

List 정렬하는법

//기본 오름차순
Collections.sort(list);

//내림차순
Collections.sort(names, Collections.reverseOrder());

//person 객체의 age로 정렬하기
Collections.sort(list,Comparator.comparingInt(person -> person.age))

//문자열의 길이를 기준으로 정렬
Collections.sort(names, Comparator.comparingInt(String::length));

 

import java.util.*;

class Solution {
    public int[][] solution(int[][] data, String ext, int val_ext, String sort_by) {
        
        HashMap<String,Integer> columnInfo= new HashMap<>();
        columnInfo.put("code",0);
        columnInfo.put("date",1);
        columnInfo.put("maximum",2);
        columnInfo.put("remain",3);
        
        
        //조건 인덱스
        int extIndex = columnInfo.get(ext);
        //정렬 인덱스
        int sortIndex = columnInfo.get(sort_by);
        
        List<int[]> newData = new ArrayList<>();
        for(int i=0;i<data.length;i++){
            int[] detailData = data[i];
            //조건부합하는지 검사
            if(detailData[extIndex] < val_ext){
                newData.add(detailData);
            }           
        }
        
        //List 정렬
        Collections.sort(newData,Comparator.comparingInt(list->list[sortIndex]));
        //Collections.sort(newData,(a,b)->Integer.compare(a[sortIndex],b[sortIndex]));
       
        

        
        int[][] answer = new int[newData.size()][4];
        answer = newData.toArray(new int[0][]);
     
        return answer;
          
    }
}
반응형

+ Recent posts