List集合合并指定数据

Python开发基础知识,List集合基本操作大盘点 List列表是Python中最基本的数据结构,也是Python中使用频率最高的数据类型,List列表中的元素不需要具有相同类型,使用起来非常方便。现在就来体验一下List列表的基本操作。 list集合基本操作 List的基本操作(=,copy,+,*,len,in) 1)= 赋值 list01 = [10, 20, 30, 40, 50, 60, 70, 80, 90] list02 = l... 阅读详情
/**
     * 根据指定字段合并数据,PageData为HashMap
     * @param pgList
     * @param fields  指定字段,可以用 Arrays.asList("SEX","AGE")来传值;
     * @return
     */
    public static List<PageData> analysisPageData(List<PageData> pgList, List<String> fields){
        
        List<PageData> resultList = null;
        
        if(fields==null || fields.isEmpty()){//未指定判定字段,直接返回源数据
            resultList = pgList;
        } else {
            if(pgList!=null && !pgList.isEmpty()){
                int mergedIndex = -1;//合并后序号
                int originalIndex = 0;//未合并前原始序号
                
                PageData preObj = null;
                List<PageData> childs = null;
                resultList = new ArrayList<PageData>();
                for (PageData pd : pgList) {
                    pd.put("rowNums", originalIndex);
                    originalIndex++;
                    
                    if(preObj==null || !preObj.equals(pd, fields)){
                        preObj = pd;
                        
                        childs = new ArrayList<PageData>();
                        pd.put("childs", childs);
                        
                        resultList.add(pd);
                        mergedIndex++;
                    } else {
                        childs.add(pd);
                    }
                    
                    pd.put("indexs", mergedIndex);
                }
            }
        }
        

        return resultList;

    }



//pageData 中重写了equals方法

/**
     * 判断两个对象指定字段值是否一致
     * @param pd
     * @param fields
     * @return
     */
    public boolean equals(PageData pd, List<String> fields) {
        boolean isEqual = true;
        
        if(pd!=null && fields!=null && !fields.isEmpty()){
            for (String field : fields) {
                isEqual = isEqual && this.isEqual(this.getString(field), pd.getString(field));
            }
        }
        
        return isEqual;
    }

    /**
     * 判断两个字符串是否一致
     * @param str1
     * @param str2
     * @return
     */
    private boolean isEqual(String str1, String str2) {
        boolean isAllNull = (str1==null && str2==null);
        boolean isAllEmpty = (str1!=null && str1.trim().equals("") && str2!=null && str2.trim().equals(""));
        
        return isAllNull || isAllEmpty || (str1!=null && str2!=null && str2.trim().equals(str1.trim()));
    }

Java 合并两个相同的List集合多种方法解析 在Java编程中,有时我们需要将两个相同类型的集合合并成一个。尤其是在处理列表(List)时,将两个具有相同元素类型的List合并成一个新的List是非常常见的需求。这里将介绍几种有效的方法来合并两个Java List,并提供详细的代码示例。方法,简单直接且高效。同时,若要确保合并过程中去除重复项,可以结合使用。在合并两个Java List时,最常用的是。方法,可以直接将一个集合中的所有元素添加到另一个集合中。,可以用来合并两个集合,不过需要注意该方法返回的是。方法来合并两个流,进而合并两个List。 阅读详情

相关推荐

f2fs学习笔记 - 3. F2FS文件系统布局

目录1.前言2.F2FS布局说明2.1. super block(block 0x0 ~ block 0x1ff)2.2 CP(block 0x200 ~ block 0x5ff)cp page1nat journalsit journaldata summarycurrent hot node summarycurrent warm node summarycurrent cold node summarycp page22nd checkpoint2.3 SIT(block 0x600 ~ block

HZero 4645

深入DataList分页方法(利用PagedDataSource类)

  从Asp.net 1.1开始,我们就开始使用DataGrid、DataList、Repeater控件,到了Asp.net 2.0又增加了GridView控件。GridView控件在DataGrid上做了优化和改进,功能很强大,但是自定义性不够强。Repeater自定义性非常高。而DataList则兼而有之,其他方面本文不谈。这里就说下怎么给DataList分页。给DataList分页有两个

690

unity 腾讯地图sdk移动和缩放代码

unity 腾讯地图sdk 实现移动端 缩放 和 移动

。。。。。 1283

JAVA中将两个列表(List)合并为一个列表

JAVA中将两个列表(List)合并为一个列表 我是总结和简化这篇文章,再比较了add和addAll方法 https://blog.youkuaiyun.com/cunchi4221/article/details/107470693?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.pc_relevant_default&depth_

JB666M的博客 9万+

基于Vector 的AUTOSAR NvM 模块使用

本文主要讲述Vector的两款工具configurator和Developer关于NvM的配置流程,包括如何新建NvM SWC以及添加和修改NvM block,Developer主要涉及NvM SWC的新建、添加新NvM Block以及修改原有的NvM Block;Configurator主要涉及三个模块NvM、Fee以及Fls,以下将分为两个模块对该部分进行介绍。 一、Developer 使用 1.1 新建NvM SWC并实例化 如下图,为Developer左列列表 图 1.1...

Fly_To_Skyhehe的博客 4960

Win 11 Fastboot驱动的详细安装教程

Fastboot驱动的详细安装教程

水w的博客 1万+

Java 常见合并集合几种方式总结(List、Set、Map)

Java 提供了多种方式来合并集合(List、Set、Map),不同场景下可选择最合适的方法。

longgelaile的博客 5699

手把手教你学simulink(43.2)--光伏发电场景示例:基于Simulink开发一个光伏发电系统仿真模型:采用神经网络控制策略进行优化

需求分析光伏发电系统(Photovoltaic System, PV)是将太阳能转换为电能的重要手段,广泛应用于分布式发电、并网发电和离网供电等领域。随着光伏技术的发展,如何提高光伏发电系统的效率和稳定性成为研究的重点。传统的控制策略(如PID控制器)虽然简单易实现,但在复杂工况下(如光照强度变化、温度波动等)难以达到最优性能。因此,引入先进的控制策略,如神经网络控制(Neural Network Control, NNC),可以显著提升系统的响应速度和鲁棒性。

MHD0815的博客 438

List合并的操作

【代码】List合并的操作。

简单点的博客 2292

DeepSeek赋能公文写作指南(一)

DeepSeek 的出现,为公文写作领域带来了新的曙光。作为先进的人工智能技术,DeepSeek 以其强大的语言理解与生成能力,能为公文写作提供全方位的支持。它可以快速梳理思路,提供丰富的素材参考,辅助优化语言表达,甚至能根据不同的公文类型和场景,生成极具价值的内容框架。《DeepSeek 赋能公文写作指南》正是基于此背景应运而生。本书旨在帮助公文写作者深入了解并充分利用 DeepSeek 这一强大工具,将其融入到公文写作的各个流程中。

通俗易懂学IT 5483

添加USB wifi驱动到RK3568

在日常开发中我们经常需要用到wifi功能,一般来说soc厂家都会事先做好了几个厂家的wifi驱动在内核源码目录下,我们只需要按原理图配置对应的设备树即可。常用的wifi的接口有:USBSDIOPCIE下面来介绍这这种接口是如何使用wifi芯片。提示:以下是本篇文章正文内容,下面案例可供参考本小节介绍了一个配置一个USBwifi驱动的整个流程,并没有介绍到SDIO,下小节基于AP6256介绍如何使用。

qq_24093081的博客 2049

Java集合合集

Java集合合集 预备知识 泛型的意义 试想一下我们如何实现一个能传入任意类型数据的顺序表? 可以把顺序表的参数类型设置成Object类型进行传入数据,但是在取出数据时需要进行强转,所以取出时需要知道取出的类型具体是什么,所以这种方法并不好 使用泛型实现 class MyArrayList<T>{//这个T代表占位符,也可以是其他字母 public T[] elem; public int size; public MyArrayList(){ this.elem

Onen404的博客 426

C#项目实战——【实例】企业人事管理系统(二):4、数据库与数据表设计;5、创建项目;

(1)展开新建的db_PWMS数据库节点,选中“表”节点,单击鼠标右键,在弹出的快捷菜单中选择“新建表”命令,如下图:(2)在SQL Server 2008管理器的右边显示一个新表,这里输入要创建的表中所需要的字段,并设置主键,如下图:(3)单击“保存”按钮,弹出“选择名称”对话框,如下图,输入要新建的表名“tb_Login”,单击“确定”按钮,即可在数据库中添加一个表。

做有价值的事,积累有价值的笔记! 1621

Java集合合集(一)之collection体系

就像是一个字典,每个单词(键)都对应着一个解释(值),而且键是唯一的。移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。如果此 collection 包含指定 collection 中的所有元素,则返回 true。将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。移除此 collection 中的所有元素(可选操作)。

打工小王的博客 691

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Java Lambda表达式操作List集合合集

【代码】JDK1.8 Lambda表达式操作List集合合集。

qq_36147006的博客 6837

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【Python】python新手保姆级教程------第 6 章 数据容器 (列表List 元组tuple字符串str集合set字典dict)

列表:用来存放一组有序的数据,并且可以对其中的数据进行:增删改查。:::tips列表就像一个长度可变的收纳盒,能按顺序装下多个元素,还可以随时添加、拿出、替换里面的元素。使用方括号[]来定义一个列表,不同元素之间用去分隔。这是一张图片,ocr 内容为:# 定义有内容的列表list2 = ['北京', '尚硅谷', '你好啊']list3 = [23, '尚硅谷', True, None]

朱朱博客,分享技术 238

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

javaSE20-- Collection集合概述

Collection集合概述 最强Java集合合集 目录Collection集合概述Collection的常用操作List集合ArrayList与VectorLinkedListset**HashSet****位置为什么时无序的**为什么使用 hashcode向hashset添加元素时 如何确定重复元素TreeSet**自然排序要进行一下操作**:Compara比较器排序LinkedHashSet按插入的顺序进行输MaphashMap特点基本操作hashmap工作原理遍历一:遍历三:HashTable:Pr

qq_44236958的博客 364

JAVA 中集合类的关系

##JAVA 中集合类的关系 Collection: –LIST:有序,元素都有索引,元素可以重复

L_YF12345的博客 380

集合

JAVA集合理解集合Collection集合实现类ArrayList三级目录shi 集合 1.List , Set、 Queue接口继承至Collection父接口,Map为独立接口。 2.List集合接口的实现类主要有 ArrayList、LinkedList、Vector等 3.Set集合接口的实现类主要有HashSet、LinkedHashSet, TreeSet 4.Map集合接口的实现类主要有 HashMap, Hashtable、LinkedHashMap、 TreeMap。 Queue集合接

weixin_43963801的博客 176

十二章 集合类

TreeSet 类不仅实现了 Set 接口,还实现了java.util.SortedSet 接口,因此 TreeSet 类实现的 Set集合在遍历集合时按照自然顺序递增排序,也可以按照指定比较器递增排序,即可以通过比较器对用TreeSet类实现的Set集合中的对象进行排序。在项目中创建Gather 类,在主方法中创建集合对象,依次向集合对象中添加“a”“b”“c”这3个元素,先使用Math类的random(方法随机获取集合中的某个元素,再移除集合中索引位置是“2”的元素并把余下的元素输出在控制台上。

2302_76545553的博客 864

黑马程序员——集合类(二)

集合分类de Collection集合一次

woyoudianhuaiha的专栏 488

第十二章 集合类

java.util 包中提供了一些集合类,这些集合类又被称为容器。提到容器不难想到数组。集合类与数组的不同之处是;数组的长度是固定的、集合的长度是可变的;数组用来存放基本类型的数据,集合用来存放对象的引用。常用的集合有 List 集合、Set 集合和 Map 集合合,其中List 集合与 Set集合继承了 Collection 接口、各接口还提供了不同的实现类。

2301_76545652的博客 122

Java集合类操作优化经验总结

本文首先针对 Java 集合接口进行了一些介绍,并对这些接口的实现类进行详细描述,包括 LinkedList、ArrayList、Vector、Stack、Hashtable、HashMap、WeakHashMap 等,然后对一些实现类的实现方式和使用经验进行讲解,同时重点介绍 WeakHashMap。希望通过本文介绍,可以让读者对集合的操作方式、注意事项等有一些了解。 在实际的项目开发中会

iwuyun的博客 306
上一篇: 锚链接那点事
下一篇: 用递归写的一个简单树结构
闲云9134
博客等级 码龄10年 12粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值