RankUtils.java 765 Bytes
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;
    }
}