栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 对象转换成带有索引的对象工具类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 对象转换成带有索引的对象工具类

在操作集合对象时很多场景需要遍历集合,为了方便包装了一下,供参考和记录

工具类核心源码
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;


public final class BeanIndexUtil {
    
    public static Map> createIndexListById(List objectItemList, Function idFun) {
        return objectItemList.stream().collect(Collectors.toMap(idFun,
                p -> {
                    List getObjectItemTempList = new ArrayList<>();
                    getObjectItemTempList.add(p);
                    return getObjectItemTempList;
                },
                (List value1, List value2) -> {
                    value1.addAll(value2);
                    return value1;
                }
        ));
    }

    
    public static Map createIndexById(List objectItemList, Function idFun) {
        return objectItemList.stream().collect(Collectors.toMap(idFun, objItem -> objItem));
    }

    
    public static List getIndexById(List objectItemList, Function idFun) {
        return objectItemList.stream().map(idFun).distinct().collect(Collectors.toList());
    }
}
举栗子
Map> xxxItemMapByType = BeanIndexUtil.createIndexListById(xxxItems, XxxInfo::getXxxxIdType);

Map xxxMap = BeanIndexUtil.createIndexById(xxxList, XxxVo::getId);

List xxxxIds = BeanIndexUtil.getIndexById(xxxList, XxxInfo::getId);

没有太多天分和履历的本分程序猿最终会有归宿吗

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/881083.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号