RankUtils.java 765 Bytes
Newer Older
刘基明's avatar
刘基明 committed
1 2
package com.tanpu.community.util;

刘基明's avatar
刘基明 committed
3
import com.tanpu.community.dao.entity.community.ThemeEntity;
刘基明's avatar
刘基明 committed
4

刘基明's avatar
刘基明 committed
5
import java.util.Comparator;
刘基明's avatar
刘基明 committed
6 7
import java.util.HashMap;
import java.util.List;
刘基明's avatar
刘基明 committed
8
import java.util.stream.Collectors;
刘基明's avatar
刘基明 committed
9

刘基明's avatar
刘基明 committed
10
public class RankUtils {
刘基明's avatar
刘基明 committed
11 12 13



刘基明's avatar
刘基明 committed
14
    public static List<ThemeEntity> sortThemeEntityByIds(List<ThemeEntity> list, List<String> ids){
刘基明's avatar
刘基明 committed
15 16 17 18 19
        int count=0;
        HashMap<String, Integer> indexMap = new HashMap<>();
        for (String id : ids) {
            indexMap.put(id,count++);
        }
刘基明's avatar
刘基明 committed
20 21 22 23
        List<ThemeEntity> collect = list.stream().filter(o -> indexMap.containsKey(o.getThemeId()))
                .sorted(Comparator.comparingInt(o -> indexMap.get(o.getThemeId())))
                .collect(Collectors.toList());
        return collect;
刘基明's avatar
刘基明 committed
24
    }
刘基明's avatar
刘基明 committed
25
}