[java] Object List 다중조건 정렬

늘 공부하는 괴짜·2023년 10월 12일
0

java

목록 보기
1/1

ComparatorChain 구성


	@SuppressWarnings({ "unchecked", "rawtypes" })
	public static List<Map<String, Object>> setSortObjectArray(List<Map<String, Object>> list, String[] sortKeys) {

	   ComparatorChain chain = new ComparatorChain();

	   Arrays.asList(sortKeys).forEach((sortKey)->{
		   chain.addComparator(setComparator(list, sortKey));
	   });

	   Collections.sort(list, chain);
	   return list;

	}



	public static Comparator<Map<String, Object>> setComparator(List<Map<String, Object>> list, String sortKey) {

	    Comparator<Map<String, Object>> comparator = new Comparator<Map<String, Object>>() {
	        @Override
	        public int compare(Map<String, Object> obj1, Map<String, Object> obj2) {
	             return obj1.get(sortKey).toString().compareTo(obj2.get(sortKey).toString());
	        }
	   };

	   return comparator;

	}

사용

List<Map<String, Object>> newList = Func.setSortObjectArray(newList, new String[] {"dept", "name"});

끗!

profile
인공지능이라는 옷을 입었습니다. 뭔가 멋지면서도 잘 맞습니다.

0개의 댓글