package com.tanpu.community.util; import com.tanpu.community.dao.entity.community.ThemeEntity; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; public class RankUtils { public static List<ThemeEntity> sortThemeEntityByIds(List<ThemeEntity> list, List<String> ids){ int count=0; HashMap<String, Integer> indexMap = new HashMap<>(); for (String id : ids) { indexMap.put(id,count++); } List<ThemeEntity> collect = list.stream().filter(o -> indexMap.containsKey(o.getThemeId())) .sorted(Comparator.comparingInt(o -> indexMap.get(o.getThemeId()))) .collect(Collectors.toList()); return collect; } }