Java集合框架之Collection学习和笔记——黑马训练营

本文详细介绍了Java中常用的集合框架,包括ArrayList、LinkedList、HashSet、TreeSet的使用方法及操作。从增删改查四个方面深入探讨,帮助开发者熟练掌握这些集合类的应用。

-------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-------



1、常用集合的分布图

Java的常用集合类主要由两个接口派生出来的:Collection和Map,Collection和Map集合是Java集合常用框架的根接口

List和Set接口是Collection接口派生的两个子接口。

Collection:

1、List集合:元素是有序的,元素可以重复,因为该集合体系有索引

2、Set集合:元素是无序的,元素不可以重复

List:

1、ArrayList集合:底层的数据接口使用的数组结构。特点:查询速度快,但增删稍慢。

2、LinkedList集合:基层使用是链表数据结构。特点:增删速度很快,但查询稍慢。

Set:

1、HashSet集合:底层数据结构是哈希表。

2、TreeSet集合:底层数据结构是二叉树结构。特点:可以对Set集合中的元素进行排序。

1、如何使用Arraylist

public static void main(String[] args) {
		ArrayList list=new ArrayList();
		//给数组增加10个Int类型元素
		for(int i=0;i<10;i++){
			//添加元素
			list.add(i);
		}
		System.out.println("ArrayList集合中的所有元素"+list);
		System.out.println("ArrayList集合中元素个数"+list.size());
	}
Arraylist集合对数据的操作

增:boolean add(Object o)

void add(int index, E)把元素添加到执行的角标上

删:void clear()清空集合

boolean remove(Object o) 删除某一个元素
removce(int index)根据角标删除某个元素

改:set(int index,E)根据角标替换集合中的某个元素

retainAll(Collection c)取两个集合的交集

查:get(int index)根据角标查找某个元素

int size()返回几个的长度

boolean isEmpty()判断几个是否为空

2、LinedList如何使用

public static void main(String[] args) {
		LinkedList list=new LinkedList();
		//添加元素
		list.add("22");
		list.add("33");
		list.add("44");
		list.add("55");
		//添加到集合的第一个
		list.addFirst("11");
		//添加到集合最后一个
		list.addLast("66");
		System.out.println(list);
	}
LinedList集合对数据的操作

增:add(元素)根据顺序添加元素

addFirst(元素)把元素添加到链表集合的第一个元素

addLast(元素)把元素添加到链表集合的最后一个元素

删:removeLast()删除链表集合中最后一个元素

removeFirst()删除链表集合中第一个元素

改:set(index, element)根据位置修改元素

查:getFirst()获取链表集合的第一个元素

getLast() 获取链表集合的最后一个元素

3.如何使用HashSet集合

public static void main(String[] args) {
		HashSet hs=new HashSet();
		hs.add("lisi--1");
		hs.add("lisi--2");
		hs.add("lisi--1");
		hs.add("lisi--3");
		hs.add("lisi--5");
		hs.add("lisi--4");
		hs.add("lisi--5");
		//迭代器
		Iterator i=hs.iterator();
		while(i.hasNext()){
			System.out.println(i.next());
		}
	}
HashSet是通过元素的两个方法,hashCode和equals来完成的,如果元素的HashCode值相同,才会判断equals是否为true

如果元素的HashCode值不同,不会调用equals。

注意:对于判断元素是否存在,以及删除等操作,依赖的方法是元素的hashCode和equals。
4.如何使用TreeSet集合

public static void main(String[] args) {
		TreeSet ts = new TreeSet();
		ts.add("caa");
		ts.add("bca");
		ts.add("casf");
		ts.add("des");
		Iterator it = ts.iterator();
		while (it.hasNext()) {
			System.out.println(it.next());
		}
	}
	/*打印结果
	 * bca caa casf des
	 *
TreeSet:它可以给Set集合中的元素进行指定方式的排序

 排序的第一种方式:让元素自身具备比较性,只要让元素实现Comparable接口,覆盖compareTo方法就可以了

 排序的第二种方式:自定义比较器的方式。

这是可以让集合自身具备比较性,可以定义个类实现Comparator接口,复写compare方法,将该Comparator接口子类对象作为实际参数传递给TreeSet集合构造函数。该对象就是比较器。




内容概要:本文针对T型三电平逆变器在电网电压跌落条件下的低电压穿越(LVRT)问题,提出了一种结合改进电流解耦控制与直流侧中点电位平衡的综合控制策略。通过建立逆变器的数学模型,采用双二阶广义积分器(DSOGI)实现电网电压正负序分量的精确分离,并在此基础上设计自适应无功支撑与故障电流限幅控制,以满足LVRT对无功补偿电流安全性的要求。为提升不对称故障下的动态性能,引入改进的正负序解耦电流控制方法,有效克服传统PI控制器在耦合干扰下的控制滞后问题。同时,结合零序电压注入法对中点电位进行主动调控,抑制中点电压漂移,保障系统长期稳定运行。整个控制方案在Simulink平台上完成建模与仿真验证,结果表明该方法在电网故障期间具有优良的动态响应特性、稳定的中点电位控制能力可靠的并网运行性能。; 适合人群:具备电力电子、自动控制或新能源并网技术背景,从事逆变器控制算法开发、微电网系统集成或可再生能源发电系统研究的工程技术人员及高校研究生。; 使用场景及目标:①用于提升T型三电平逆变器在电网故障条件下的并网可靠性与电能质量;②为高比例新能源接入场景下的LVRT控制策略设计提供理论支撑与技术路径;③适用于需要实现高性能电流控制与中点电位稳定的工业级变流器控制系统开发。; 阅读建议:建议结合提供的Simulink仿真模型进行学习,重点剖析正负序分离、改进电流解耦控制环设计及中点电位平衡模块的协同工作机制,可通过设置不同类型的电网故障(如单相短路、两相短路)调节控制参数开展对比实验,深入掌握各模块对系统整体性能的影响规律。
内容概要:本文针对不对称电网故障条件下T型三电平逆变器的低电压穿越(LVRT)问题,提出了一种多目标协同控制策略,并通过Simulink平台实现了系统仿真验证。该策略综合考虑了故障期间电网电压跌落应对、正负序电流的精确解耦控制以及直流侧中点电位稳定三大关键问题,构建了多层次、多目标协同控制架构。通过引入双二阶广义积分器(DSOGI)实现电网电压正负序分量的快速、准确分离,结合改进的正负序解耦电流控制环路设计,有效抑制负序电流对系统的影响并保障并网电能质量;同时,采用零序电压注入法实现中点电位主动平衡控制,解决了传统控制中电位漂移导致器件应力不均的问题。整体控制方案提升了逆变器在复杂不对称故障下的运行稳定性与可靠性。; 适合人群:从事电力电子、新能源并网、电力系统自动化等领域的科研人员与工程技术人员,以及具备一定Simulink仿真基础电力系统分析能力的研究生或高年级本科生。; 使用场景及目标:①深入研究T型三电平逆变器在不对称电网故障下的动态响应特性与控制挑战;②掌握低电压穿越、正负序电流解耦控制、中点电位平衡等核心技术的协同设计方法与实现原理;③为高性能逆变器控制系统在实际工程中的设计、优化与仿真验证提供理论依据技术参考。; 阅读建议:建议结合文中详细的控制策略理论分析与Simulink模型结构图进行对照学习,重点关注双二阶广义积分器、正负序电流环设计、零序电压注入模块及SVPWM调制单元的实现细节,通过调整仿真工况并分析实验结果,深入理解各控制环节的协同作用机制与系统整体性能表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值