第5章 集合

Java的集合类是一些常用的数据结构
Java集合就像一种“容器”,用于存储数量不等的对象,并按照规范实现一些常用的操作和算法
队列:先进先出 栈:先进后出 链表:单链表
集合框架:5.0之前,Java集合会丢失容器中所有对象的数据类型,将所有对象都当成Object进行处理,5.0之后增加泛型,从而编写更简洁
Java所有的集合类都是Java.util包下,又在Java.util.concurrent包下提供了一些多线程支持的集合类
Java的集合类主要由两个接口派生而出:Collection和Map
这两个接口派生出一些子接口或实现类
Java中的集合分为三大类:
list集合:线性,存储是连续的,可重复且长度可变
get集合:无重复性,无顺序,继承 Collection接口
Map集合:每个元素都是有key/Value健值对组成,Map中的key不允许重复,value可以重复
迭代器接口:迭代器可以采用统一的方式对Collection集合中的元素进行遍历操作,能够使用foreach循环遍历集合中的部分或全部元素
从5.0开始增加了Iterable新接口,该接口是Collection接口的父接口
方法:HashNext()判断是否有下一个可访问的元素
void remove():移除迭代器返回的最后一个元素
Collection集合中的实现类都实现了Iterable接口
Collection接口中的常用方法:
boolean add(E.obj) 添加元素
int size() 返回元素的个数
list是collection接口的子接口,是有序,可重复的集合
get() 查找 返回指定索引位置
Hash表中的存储元素的位置称为“桶”,通常情况下,单个桶只存储一个元素,此时性能最佳,Hash算法可以根据Hashcode值计算桶的位置,从中取出元素
startswith是否以某个字符串开头 endswith是否以某个字符串结尾
indexOf字符第一次出现的位置 toLowerCase 转换为小写
toUpperCase 转换为大写 trim 去掉首尾空格
toCharArray 变成字符数组 StringBuilder类 线程不安全
TreeSet 排序时,会调用元素compareTo(To)方法
Map接口是集合框架的另一个根接口,与collection接口并列
HashMap和TreeMap是Map体系中的两个实现类
HashMap:用基于哈西算法的Map接口的实现类
TreeMap:用基于“树”结构来存储的Map接口的实现类
HashMap没有对存放的元素进行排序,TreeMap按照存放元素的Key值进行排序
将Map集转换为collection集的三种方法
entrySet() keySet() values()
Java集合框架中还提供了两个非常实用的辅助工具类:collections和Arrays
collections工具类提供了一些对Collection集合常用的静态方法
Array工具类提供了一些针对数组的各种静态方法
Arrays.asList() 可把数组转换成列表

使用优化算法,以优化VMD算法的惩罚因子惩罚因子 (α) 和分解层数 (K)。 1、将量子粒子群优化(QPSO)算法与变分模态分解(VMD)算法结合 VMD算法背景: VMD算法是一种自适应信号分解算法,主要用于分解信号为不同频率带宽的模态。 VMD的关键参数包括: 惩罚因子 α:控制带宽的限制。 分解层数 K:决定分解出的模态数。 QPSO算法背景: 量子粒子群优化(QPSO)是一种基于粒子群优化(PSO)的一种改进算法,通过量子行为模型增强全局搜索能力。 QPSO通过粒子的量子行为使其在搜索空间中不受位置限制,从而提高算法的收敛速度与全局优化能力。 任务: 使用QPSO优化VMD中的惩罚因子 α 和分解层数 K,以获得信号分解的最佳效果。 计划: 定义适应度函数:适应度函数根据VMD分解的效果来定义,通常使用重构信号的误差(例如均方误差、交叉熵等)来衡量分解的质量。 初始化QPSO粒子:定义粒子的位置和速度,表示 α 和 K 两个参数。初始化时需要在一个合理的范围内为每个粒子分配初始位置。 执行VMD分解:对每一组 α 和 K 参数,运行VMD算法分解信号。 更新QPSO粒子:使用QPSO算法更新粒子的状态,根据适应度函数调整粒子的搜索方向和位置。 迭代求解:重复QPSO的粒子更新步骤,直到满足终止条件(如适应度函数达到设定阈值,或最大迭代次数)。 输出优化结果:最终,QPSO算法会返回一个优化的 α 和 K,从而使VMD分解效果最佳。 2、将极光粒子(PLO)算法与变分模态分解(VMD)算法结合 PLO的优点与适用性 强大的全局搜索能力:PLO通过模拟极光粒子的运动,能够更高效地探索复杂的多峰优化问题,避免陷入局部最优。 鲁棒性强:PLO在面对高维、多模态问题时有较好的适应性,因此适合海上风电时间序列这种非线性、多噪声的数据。 应用场景:PLO适合用于优化VMD参数(α 和 K),并将其用于风电时间序列的预测任务。 进一步优化的建议 a. 实现更细致的PLO更新策略,优化极光粒子的运动模型。 b. 将PLO优化后的VMD应用于真实的海上风电数据,结合LSTM或XGBoost等模型进行风电功率预测。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值