对象容器 ArrayList HashSet HashMap

本文深入探讨了Java集合框架中的ArrayList、HashSet及HashMap等容器类的基本使用方法与特性,包括元素的增删查改、初始化及常见操作等,并通过具体实例进行说明。
import 包的名字.包中的类  
当不在同一个包中的时候,但又要用到该包中的类时,可以这样做。也可以 .*  ,
这是包含该包中所有的类,但尽量不要这样做,因为可能会有重名的类,这就尴尬
了。每一个包的名字中的 . 代表文件夹的一个层次。


Arraylist


Arratlist<类型(String)> 数组名(notes) = new Arraylist<类型>();
在后面增加元素   notes.add("first");
在任意位置增加元素  notes.add(位置, "firsts");
大小:  notes.size();
得到某一位置元素: notes.get(location);
删除某一位置元素: notes.remove(location);  如果正常删除会返回删除的元素   ,否则,会抛出异常

实现数组元素的拷贝: notes.toArray(拷贝到的数组);


HashSet


HashSet<String> s = new HashSet<String>();
		s.add("first");
		s.add("second");
		s.add("third");
		s.add("four");
		s.add("five");
		System.out.println(s);

输出结果:[third, four, five, first, second]          顺序不确定




HashMap


package test;
import java.util.HashMap;
import java.util.Scanner;
public class Coin {
	private HashMap<Integer, String> coinnames = new HashMap<Integer, String>();
	public Coin(){
		coinnames.put(1, "penny");
		coinnames.put(10, "dime");
		coinnames.put(25, "quarter");
		coinnames.put(50, "half-dolor");
		System.out.println(coinnames.keySet().size());
		System.out.println(coinnames);
//		遍历输出 HashMap 中的每一个元素,可以用到如下方法
		for(Integer k : coinnames.keySet()){
			String s = coinnames.get(k);
			System.out.println(s);
		}
	}
	
	public String getName(int amount){
		if(coinnames.containsKey(amount))
			return coinnames.get(amount);
		else 
			return "Not found";
	}
	public static void main(String[] args) {
		Scanner in =  new Scanner(System.in);
		int amount  = in.nextInt();
		Coin coin = new Coin();
		String name = coin.getName(amount);
		System.out.println(name);
	}
}

输出结果:

1
4
{1=penny, 50=half-dolor, 25=quarter, 10=dime}   // System.out.println(coinnames);
penny
half-dolor
quarter
dime
penny



基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究”展开,提出了一种结合数据驱动方法与Koopman算子理论的递归神经网络(RNN)模型线性化方法,旨在提升纳米定位系统的预测控制精度与动态响应能力。研究通过构建数据驱动的线性化模型,克服了传统非线性系统建模复杂、计算开销大的问题,在Matlab平台上实现了完整的算法仿真与验证,展示了该方法在高精度定位控制中的有效性与实用性。; 适合人群:具备一定自动化、控制理论或机器学习背景的科研人员与工程技术人员,尤其是从事精密定位、智能控制、非线性系统建模与预测控制相关领域的研究生与研究人员。; 使用场景及目标:①应用于纳米级精密定位系统(如原子力显微镜、半导体制造设备)中的高性能预测控制;②为复杂非线性系统的数据驱动建模与线性化提供新思路;③结合深度学习与经典控制理论,推动智能控制算法的实际落地。; 阅读建议:建议读者结合Matlab代码实现部分,深入理解Koopman算子与RNN结合的建模范式,重点关注数据预处理、模型训练与控制系统集成等关键环节,可通过替换实际系统数据进行迁移验证,以掌握该方法的核心思想与工程应用技巧。
基于粒子群算法优化Kmeans聚类的居民用电行为分析研究(Matlb代码实现)内容概要:本文围绕基于粒子群算法(PSO)优化Kmeans聚类的居民用电行为分析展开研究,提出了一种结合智能优化算法与传统聚类方法的技术路径。通过使用粒子群算法优化Kmeans聚类的初始聚类中心,有效克服了传统Kmeans算法易陷入局部最优、对初始值敏感的问题,提升了聚类的稳定性准确性。研究利用Matlab实现了该算法,应用于居民用电数据的行为模式识别与分类,有助于精细化电力需求管理、用户画像构建及个性化用电服务设计。文档还提及相关应用场景如负荷预测、电力系统优化等,提供了配套代码资源。; 适合人群:具备一定Matlab编程基础,从事电力系统、智能优化算法、数据分析等相关领域的研究人员或工程技术人员,尤其适合研究生及科研人员。; 使用场景及目标:①用于居民用电行为的高效聚类分析,挖掘典型用电模式;②提升Kmeans聚类算法的性能,避免局部最优问题;③为电力公司开展需求响应、负荷预测用户分群管理提供技术支持;④作为智能优化算法与机器学习结合应用的教学与科研案例。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,深入理解PSO优化Kmeans的核心机制,关注参数设置对聚类效果的影响,尝试将其应用于其他相似的数据聚类问题中,以加深理解拓展应用能力。
### JavaArrayListHashMap HashSet 的继承关系 #### ArrayList 的继承关系 `ArrayList` 是一个实现了 `List` 接口的具体类。它的直接父类是 `AbstractList`,而 `AbstractList` 则继承自 `AbstractCollection`。因此,`ArrayList` 的继承层次如下: - **接口**: `List`, `RandomAccess`, `Cloneable`, `Serializable` - **抽象类**: `AbstractList`, `AbstractCollection` 具体来说,`ArrayList` 提供了一个基于动态数组的数据结构,支持快速的随机访问[^2]。 #### HashMap 的继承关系 `HashMap` 是一个实现了 `Map` 接口的具体类。其直接父类是 `AbstractMap`,而 `AbstractMap` 实现了部分通用的操作逻辑。以下是 `HashMap` 的继承层次: - **接口**: `Map<K,V>`, `Cloneable`, `Serializable` - **抽象类**: `AbstractMap<K,V>` `HashMap` 使用哈希表来存储键值对,允许一个键为 `null` 多个值为 `null` 的情况[^5]。 #### HashSet 的继承关系 `HashSet` 是一个实现了 `Set` 接口的具体类。它内部实际上是通过 `HashMap` 来实现的,其中仅使用了 `HashMap` 的键而不关心值。以下是 `HashSet` 的继承层次: - **接口**: `Set<E>`, `Cloneable`, `Serializable` - **抽象类**: `AbstractSet<E>` (间接),`AbstractCollection<E>` 需要注意的是,虽然 `HashSet` 不显式继承任何其他集合类,但它依赖于 `HashMap` 的功能来维护无序性唯一性[^11]。 ```java // 示例代码展示三者的简单初始化 List<String> arrayList = new ArrayList<>(); Map<String, Integer> hashMap = new HashMap<>(); Set<String> hashSet = new HashSet<>(); ``` 以上展示了它们各自的父类以及主要特性。每种类型的容器都有自己的用途场景,开发者应根据实际需求选择合适的集合类型。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值