根据List属性的某一个,或者某几个值来进行分类

在处理大量数据时,原本使用for循环和Map进行List属性分类导致效率低下和内存消耗过大。通过反思,提出使用数据库的'Order By'进行属性排序,通过对比相邻数据实现仅遍历一次列表的高效分类方法。后续可根据需求考虑线程划分优化。
摘要由CSDN通过智能技术生成

最近遇到这个问题也是头疼了很久。
按照大家思都不想思考的方法来说。
用几个for循环来解决

List<T> arr = new ArrayList<T>();
Set<Integer> idlist = new HashSet<Integer>();
int size = idlist.size();
for( T item : data){  //data为原数组
    //操作
    idlist.add(item.getid());
    if(arr.size()>0){
        if(idlist.size()>size){
            size = idlist.size();
        for(int i = 0;i<arr.size();i++){
            if(item.getid() == arr.get(i).getid()){
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值