28、Java高级特性——集合:Set接口、HashSet集合、Map接口、 Map集合

JavaScript中,为什么Set是带有键的集合? Set的底层实现使用了哈希表(hash table)来存储元素和键,这使得Set具备快速的查找性能。通过使用键,Set可以根据元素的哈希值快速定位元素,而不需要遍历整个集合。在Set中,存储的元素不会重复,这是通过使用键来实现的。键在Set中起到两个重要的作用:保证元素的唯一性和提供快速的查找性能。总结来说,JavaScript中的Set是带有键的集合,通过使用键来确保元素的唯一性和提供快速的查找性能。方法向Set中添加了一些元素,包括重复的元素。由于Set中的元素是唯一的,重复的元素不会被添加。 阅读详情

目录

课前先导:

一、Set接口

二、HashSet集合

1、HashSet类

2、 HashSet集合的特点

3、HashSet集合常用方法 

三、HashSet集合代码演示 

1、封装属性类

2、集合操作类

3、添加数据:add()

4、返回集合中元素数量:size()

5、遍历HashSet集合的方法 

(1)增强for循环

(2)迭代器Iterator 

四、Map接口 

1、Map接口中的常用方法 

2、HashMap类代码演示 

(1)准备封装属性类

(2)HashMap实现类

(3)添加元素:put(Object key,Object value)

(4)获取集合中的元素个数:size()

(5)根据键(key)获取键对应的值:get(Object key)

(6)通过键删除键值对:remove(Object key)

(7)判断集合中是否包含键值对:containsKey(Object key)/containsValue(Object value)

(8)获取 集合中的所有键:keySet()

(9)获取集合中的所有值:values()

五、遍历Map集合的三种方式

1、获取键的集合,通过键来找值 

(1)增强for循环

(2)迭代器Iterator

 2、Map.Entry接口遍历Map集合:entrySet()

六、完整代码

1、Set集合

2、Map集合 


课前先导:

前面学习的关于集合的List接口,它的两个实现类ArrayList和LinkedList里面可以存储重复的元素,今天来看一下存储元素不能重复的集合。

一、Set接口

1、Set接口可以存储一组唯一、无序的对象;

2、Set接口常用的实现类有HashSet。

二、HashSet集合

1、HashSet类

此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。

比如我们遍历的集合的时候,集合有三个元素1,2,3;第一次遍历是1,2,3;第二次遍历是1,2,3;第三次遍历可能就是3,2,1了。

2、 HashSet集合的特点

(1)集合内的元素是无序排列的;

(2)HashSet类是非线程安全的;

(3)允许集合元素值为null。

3、HashSet集合常用方法 

Set集合是不能通过下标操作的 

三、HashSet集合代码演示 

1、封装属性类

public class NewsTitle {
	private int id; //新闻标题的编号
	private String name;//新闻的名称;
	private String author;//作者
	
	//无参构造
	public NewsTitle(){
		
	}
	//有参构造
	public NewsTitle(int id, String name, String author) {
		super();
		this.id = id;
		this.name = name;
		this.author = author;
	}
	
	//get/set方法
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAuthor() {
		return author;
	}
	public void setAuthor(String author) {
		this.author = author;
	}
	
	//toString方法
	@Override
	public String toString() {
		return "NewsTitle [id=" + id + ", name=" + name + ", author=" + author
				+ "]";
	}

}

2、集合操作类

import java.util.HashSet;

public class HashSetDemo01 {
	public static void main(String[] args) {
		//创建三个NewsTitle类对象
		NewsTitle nt01 = new NewsTitle(1001,"我的很大吴亦凡!","张三");
		NewsTitle nt02 = new NewsTitle(1002,"一次六千李云迪!","李四");
		NewsTitle nt03 = new NewsTitle(1003,"死不承认李易峰!","王二");
		
		//创建集合容器
		HashSet hs = new HashSet();
				
	}

}

3、添加数据:add()

	//添加数据:add()
		hs.add(nt01);
		hs.add(nt02);
		hs.add(nt03);
		hs.add(nt01);	

4、返回集合中元素数量:size()

//添加数据:add()
		hs.add(nt01);
		hs.add(nt02);
		hs.add(nt03);
		hs.add(nt01);
		
		//集合中元素个数:size()
		int size = hs.size();
		System.out.println("Set集合中元素的数量为:"+size);

 

程序添加了四个元素,但size()方法返回的元素个数是三个 ,因为:Set集合存储的是一组无序、唯一的对象

5、遍历HashSet集合的方法 

因为Set集合是无序的,所以就无法用get()方法通过元素下标获取元素了,那么普通for循环就无法遍历Set集合了。

 (1)增强for循环

		//增强for循环遍历数组
		for(Object object:hs){
			NewsTitle newsTitle = (NewsTitle)object;
			System.out.println(newsTitle);
		}

(2)迭代器Iterator 

//迭代器遍历数组
		//将集合元素取出来放到迭代器容器中
		Iterator it = hs.iterator();
		//使用hashNext()方法判断迭代器是否有元素
		while(it.hasNext()){
			//使用next()方法取出元素
			Object object = it.next();
			NewsTitle nt = (NewsTitle)object;
			System.out.println(nt);
		}

四、Map接口 

(1)Map接口存储一组成对的键(key)——值(value)对象,提供key到value的映射,通过key来检索;

(2)Map接口中的key不要求有序,不允许重复。value同样不要求有序,但允许重复;

(3)最常用的Map接口实现类是HashMap。

1、Map接口中的常用方法 

2、HashMap类代码演示 

(1)准备封装属性类

public class Student {
	private String name;
	private char sex;
	private int age;
	
	//无参构造
	public Student(){
		
	}

	//有参构造
	public Student(String name, char sex, int age) {
		super();
		this.name = name;
		this.sex = sex;
		this.age = age;
	}

	//get/set方法
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public char getSex() {
		return sex;
	}

	public void setSex(char sex) {
		this.sex = sex;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	//toString方法
	@Override
	public String toString() {
		return "Student [name=" + name + ", sex=" + sex + ", age=" + age + "]";
	}
	
}

(2)HashMap实现类

import java.util.HashMap;
import java.util.Map;

public class HashMapDemo01 {
	public static void main(String[] args) {
		//准备三个Student类对象
		Student stu01 = new Student("张三",'男',20);
		Student stu02 = new Student("李四",'男',30);
		Student stu03 = new Student("Lisa",'女',18);
		
		//创建Map集合容器(多态)
		Map map = new HashMap();
	}

}

(3)添加元素:put(Object key,Object value)

//添加元素
		map.put("zs", stu01);
		map.put("ls", stu02);
		map.put("lisa", stu03);

(4)获取集合中的元素个数:size()

//获取集合中的元素个数
		int size = map.size();
		System.out.println(size);

(5)根据键(key)获取键对应的值:get(Object key)

//根据键(key)获取键对应的值:get(Object key)
		Object object = map.get("zs");
		Student student01 = (Student)object;
		System.out.println(student01);

(6)通过键删除键值对:remove(Object key)

//根据键删除键值对
		Object object01 = map.remove("ls");
		Student student02 = (Student)object01;
		System.out.println("你删除的元素为:"+student02);

(7)判断集合中是否包含键值对:containsKey(Object key)/containsValue(Object value)

//判断集合中是否包含键:containsKey(Object key)
		boolean result01 = map.containsKey("zs");
		System.out.println("集合中包含键“zs”?"+result01);
		System.out.println("集合中包含键“mz”?"+map.containsKey("mz"));
		
		//判断集合中是否包含值:containsValue(Object value)
		System.out.println("集合中包含值stu01?"+map.containsValue(stu01));

(8)获取 集合中的所有键:keySet()

获取的键是Set集合

//获取集合中的所有键:keySet()
		Set keys = map.keySet();
		for(Object obj:keys){
			//我们设置的键是String类型
			String key = (String)obj;
			System.out.println(key);
		}

(9)获取集合中的所有值:values()

获取的集合是Collection类

//获取集合中的所有值:values()
		Collection value = map.values();
		Iterator it = value.iterator();
		while(it.hasNext()){
			Object obje = it.next();
			Student stud = (Student)obje;
			System.out.println(stud);
		}

五、遍历Map集合的三种方式

1、获取键的集合,通过键来找值 

//通过键遍历Map集合
		//通过键的集合,然后通过键来找值
		Set keyset = map.keySet();

(1)增强for循环

//增强for循环
		for(Object obj1:keyset){
			String strKey = (String)obj1;
			Object obj2 = map.get(strKey);
			Student student1 = (Student)obj2;
			System.out.println(strKey+"对应的学生:"+student1);
		}

(2)迭代器Iterator

//迭代器遍历
		Iterator it01 = keyset.iterator();
		while(it01.hasNext()){
			Object obj3 = it01.next();
			String strkey = (String)obj3;
			Object obj4 = map.get(strkey);
			Student student2 = (Student)obj4;
			System.out.println(strkey+"对应的学生:"+student2);
		}

 2、Map.Entry接口遍历Map集合:entrySet()

entrySet()方法返回一个Set集合

        映射项(键-值对)。Map.entrySet 方法返回映射的 collection 视图,其中的元素属于此类。获得映射项引用的唯一 方法是通过此 collection 视图的迭代器来实现。这些 Map.Entry 对象仅 在迭代期间有效;更确切地讲,如果在迭代器返回项之后修改了底层映射,则某些映射项的行为是不确定的,除了通过 setValue 在映射项上执行操作之外。

//Map.Entry接口遍历集合
		Set keyValues = map.entrySet();
		for(Object objec:keyValues){
			Map.Entry me = (Map.Entry)objec;
			//获取键
			Object obj5 = me.getKey();
			String stringkey = (String)obj5;
			//获取值
			Object obj6 = me.getValue();
			Student student3 = (Student)obj6;
			System.out.println(stringkey+"对应的学生:"+student3);
		}

六、完整代码

1、Set集合

public class NewsTitle {
	private int id; //新闻标题的编号
	private String name;//新闻的名称;
	private String author;//作者
	
	//无参构造
	public NewsTitle(){
		
	}
	//有参构造
	public NewsTitle(int id, String name, String author) {
		super();
		this.id = id;
		this.name = name;
		this.author = author;
	}
	
	//get/set方法
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAuthor() {
		return author;
	}
	public void setAuthor(String author) {
		this.author = author;
	}
	
	//toString方法
	@Override
	public String toString() {
		return "NewsTitle [id=" + id + ", name=" + name + ", author=" + author
				+ "]";
	}

}
import java.util.HashSet;
import java.util.Iterator;

public class HashSetDemo01 {
	public static void main(String[] args) {
		//创建三个NewsTitle类对象
		NewsTitle nt01 = new NewsTitle(1001,"我的很大吴亦凡!","张三");
		NewsTitle nt02 = new NewsTitle(1002,"一次六千李云迪!","李四");
		NewsTitle nt03 = new NewsTitle(1003,"死不承认李易峰!","王二");
		
		//创建集合容器
		HashSet hs = new HashSet();
		
		//添加数据:add()
		hs.add(nt01);
		hs.add(nt02);
		hs.add(nt03);
		
		//集合中元素个数:size()
		int size = hs.size();
		System.out.println("Set集合中元素的数量为:"+size);
		System.out.println("***************************************************************");
		
		//增强for循环遍历数组
		for(Object object:hs){
			NewsTitle newsTitle = (NewsTitle)object;
			System.out.println(newsTitle);
		}
		System.out.println("***************************************************************");
		
		//迭代器遍历数组
		//将集合元素取出来放到迭代器容器中
		Iterator it = hs.iterator();
		//使用hashNext()方法判断迭代器是否有元素
		while(it.hasNext()){
			//使用next()方法取出元素
			Object object = it.next();
			NewsTitle nt = (NewsTitle)object;
			System.out.println(nt);
		}
	}

}

2、Map集合 

public class Student {
	private String name;
	private char sex;
	private int age;
	
	//无参构造
	public Student(){
		
	}

	//有参构造
	public Student(String name, char sex, int age) {
		super();
		this.name = name;
		this.sex = sex;
		this.age = age;
	}

	//get/set方法
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public char getSex() {
		return sex;
	}

	public void setSex(char sex) {
		this.sex = sex;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	//toString方法
	@Override
	public String toString() {
		return "Student [name=" + name + ", sex=" + sex + ", age=" + age + "]";
	}
	
}
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class HashMapDemo01 {
	public static void main(String[] args) {
		//准备三个Student类对象
		Student stu01 = new Student("张三",'男',20);
		Student stu02 = new Student("李四",'男',30);
		Student stu03 = new Student("Lisa",'女',18);
		
		//创建Map集合容器(多态)
		Map map = new HashMap();
		
		//添加元素
		map.put("zs", stu01);
		map.put("ls", stu02);
		map.put("lisa", stu03);
		
		//获取集合中的元素个数
		int size = map.size();
		System.out.println("Map集合长度:"+size);
		System.out.println("***********************************************************");
		
		//根据键(key)获取键对应的值:get(Object key)
		Object object = map.get("zs");
		Student student01 = (Student)object;
		System.out.println(student01);
		System.out.println("***********************************************************");
		
		//根据键删除键值对
		Object object01 = map.remove("ls");
		Student student02 = (Student)object01;
		System.out.println("你删除的元素为:"+student02);
		System.out.println("Map集合长度:"+map.size());
		System.out.println("***********************************************************");
		
		//判断集合中是否包含键:containsKey(Object key)
		boolean result01 = map.containsKey("zs");
		System.out.println("集合中包含键“zs”?"+result01);
		System.out.println("集合中包含键“mz”?"+map.containsKey("mz"));
		
		//判断集合中是否包含值:containsValue(Object value)
		System.out.println("集合中包含值stu01?"+map.containsValue(stu01));
		System.out.println("***********************************************************");
		
		//获取集合中的所有键:keySet()
		Set keys = map.keySet();
		for(Object obj:keys){
			//我们设置的键是String类型
			String key = (String)obj;
			System.out.println(key);
		}
		System.out.println("***********************************************************");
		
		//获取集合中的所有值:values()
		Collection value = map.values();
		Iterator it = value.iterator();
		while(it.hasNext()){
			Object obje = it.next();
			Student stud = (Student)obje;
			System.out.println(stud);
		}
		System.out.println("***********************************************************");
		
		//通过键遍历Map集合
		//通过键的集合,然后通过键来找值
		Set keyset = map.keySet();
		
		//增强for循环
		for(Object obj1:keyset){
			String strKey = (String)obj1;
			Object obj2 = map.get(strKey);
			Student student1 = (Student)obj2;
			System.out.println(strKey+"对应的学生:"+student1);
		}
		System.out.println("***********************************************************");
		
		//迭代器遍历
		Iterator it01 = keyset.iterator();
		while(it01.hasNext()){
			Object obj3 = it01.next();
			String strkey = (String)obj3;
			Object obj4 = map.get(strkey);
			Student student2 = (Student)obj4;
			System.out.println(strkey+"对应的学生:"+student2);
		}
		System.out.println("***********************************************************");
		
		//Map.Entry接口遍历集合
		Set keyValues = map.entrySet();
		for(Object objec:keyValues){
			Map.Entry me = (Map.Entry)objec;
			//获取键
			Object obj5 = me.getKey();
			String stringkey = (String)obj5;
			//获取值
			Object obj6 = me.getValue();
			Student student3 = (Student)obj6;
			System.out.println(stringkey+"对应的学生:"+student3);
		}
	}

}

 

目前学习了List接口中的AllayList集合、LinkedList集合;Set接口中的Set集合实现类HashSet;Map接口的Map集合实现类HashMap,这四个类中的方法都差不多的,只不过都有一些自己独有的方法,但并不难懂。所谓万变一理,一通百通。基础很重要,不要眼高手低。今天的学习到此结束,我是一米八、有腹肌、低于半小时你报警的Loveletter,觉得内容不错的小伙伴可以点点关注,我们下篇博文见,再见!

 

 

 

 

SAP成本核算变式OKKN配置详解:从CK11N到CK24,手把手教你搞定标准成本发布 本文深入解析SAP成本核算变式OKKN的配置原理与实战应用,涵盖从CK11N到CK24的标准成本发布全流程。详细讲解数量结构控制、价值结构配置及间接费用计算规则,帮助成本会计精准掌握标准成本计算逻辑,解决BOM版本选择、工艺路线获取等常见问题,提升企业成本管理效率。 阅读详情

相关推荐

QT5.14.2+VS2019安装配置教程Windows

QT5.14.2+VS2019安装使用教程Windows前言一. QT的下载与安装1. QT的下载2. QT的安装二. 配置Visual Studio编译器环境1. 扩展工具下载2. 扩展工具配置 前言 由于Visual Studio 的功能强大,很多开发人员比较熟悉使用,所以可以通过将QT配置到Visual Studio中进行开发。 一. QT的下载与安装 1. QT的下载 QT5.14.2下载地址 2. QT的安装 断开网络!断开网络!!断开网络!!! 安装QT之前,需要断开电脑的网络连接,这样就

Zander0的博客 7233

Hashset常用方法总结

概述 : 1、Set接口继承Collection接口; Set接口常用实现类: 1、HashSet a、实现了 Set 接口 b、“它不保证 set 的迭代顺序; c、特别是它不保证该顺序恒久不变” 允许使用 null 元素 2、LinkedHashSet 3、TreeSet HashSet接口常用方法: 由于HashSet接口中没有顺序,所以不存在根据索引的get方法 1、...

x_j_k_jysg的博客 1320

MATLAB锂离子电池伪二维(P2D)模型实现

锂离子电池伪二维(P2D)模型的MATLAB实现。该模型基于Newman等人提出的经典电化学模型,考虑了固液相扩散、电荷守恒和电化学反应动力学。

hie98894的博客 1918

Java 基础篇--基础知识之集合HashSet

文章目录HashSet 简介一、实现原理二、源码分析2.1 继承与实现关系2.2 重要成员信息2.3 构造方法2.4 重要方法2.4.1 添加2.4.2 删除三、对应线程安全实现3.1 Collections 同步方法3.2 CopyOnWriteArraySet HashSet 简介 HashSet是一个没有重复元素的集合,是基于HashMap实现的,因此具有良好的存取和查找性能。但它不保证集合的迭代顺序,特别是它不保证该顺序恒久不变。 HashSet具体以下特点: 不保证元素的迭代顺序(HashMap

Blare的博客 2257

红外小目标检测新思路:当DETR遇上Mamba状态空间模型,速度提升3倍

本文探讨了将Mamba状态空间模型与DETR框架结合,用于解决红外小目标检测的难题。该创新方案通过线性复杂度的Mamba模块替代传统Transformer的自注意力机制,在保持高检测精度的同时,显著提升了推理速度,实现了实时性能的突破,为无人机巡检、安防监控等场景提供了高效解决方案。

hhh00的博客 662

从零到一:STM32G431的DSP库集成与FFT实战避坑指南

本文详细介绍了在STM32G431微控制器上集成CMSIS-DSP库并进行FFT实战开发的完整流程。重点解析了通过CubeMX和Keil环境配置DSP库的关键步骤、编译器宏定义陷阱及解决方案,并提供了FFT算法优化、内存管理及常见问题诊断的实用技巧,帮助开发者高效实现嵌入式信号处理应用。

oauth7security的博客 765

java.util.hashset_为什么java.util.HashSet没有get(Object o)方法?

我已经看到了有关Set根据索引值从中获取对象的其他问题,并且我理解为什么这是不可能的。但是我无法找到一个很好的解释,说明为什么不允许按对象获取,所以我想问一下。HashSet有a作为后盾,HashMap因此从中获取对象应该非常简单。现在看来,我将不得不遍历中的每个项目HashSet并测试是否相等,这似乎是不必要的。我可以只使用a,Map但不需要key:value对,我只需要一个Set。例如说我有F...

weixin_31974443的博客 1018

反光柱定位算法实战03:VEnus代码解析和纯反光柱定位中的可改进方向

本文深入解析了开源框架VEnus的反光柱定位与建图实现流程,包括强度提取、聚类、数据关联、位姿优化等核心模块。同时指出其三大局限:匹配质量脆弱性、单一传感器依赖和地图扩展逻辑缺失,并提出改进方向:融合里程计/IMU数据、引入图优化后端、建立动态地图维护机制。该分析为基于反光柱的定位系统优化提供了实用参考,有助于提升工业场景下的定位鲁棒性和精确性。

Studying…… 515

今日解析之通过源码分析 HashSet 为何没有get方法

目录 一、HashSet 介绍 官方介绍 百度介绍 二、HashSet 的应用场景 三、HashSet 源码分析 四、结合以上分析 HashSet 没有 get 方法的几大因素 一、HashSet 介绍 1、官方介绍(源码) /** * This class implements the <tt>Set</tt> interface, backed by a hash table * (actually a <tt>HashMap</tt.

qq_42349895的博客 3628

YOLO11涨点优化:小目标检测 | 多头检测器提升小目标检测精度

引入多头检测器助力YOLO11,添加一个微小物体的检测头暴力提升小目标检测性能

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 4732

【OpenClaw从入门到精通】第34篇:医疗AI的“Agent OS”时代:基于WiseClaw构建医院专属智能体平台(2026实测版)

2026年医疗AI迈入实战落地新阶段,全球首个医疗OpenClaw平台WiseClaw正式发布,香港中文大学(深圳)医院完成业内首个私有化部署。本文基于真实医疗场景需求与公开技术资料,系统拆解医疗智能体平台的建设逻辑:从医疗Agent OS的五大核心特性切入,详解门诊病历质控、用药审查、医院运行管理三大临床场景的智能体搭建流程,提供完整的私有化部署代码、安全配置方案与实操演示。文章兼顾新手入门与进阶需求,严格遵循医疗合规要求,强调“只读不写+人工复核”原则,所有方案均经过虚拟实测验证。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 777

Java高级特性之 集合

1 为什么需要集合面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。都是对多个数据进行存储操作的结构,也简称为Java容器。此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt .jpg .avi 数据库)。然而目前数组(Array)在存储数据方面存在以下特点:数组初始化以后,长度就不可变了,不便于扩展;数组声明的类型,就决定了进行元素初始化时的类型;数组中提供的属性和方法少,不便于进行添加、删除、插入等操作,同时无法直接获取存储元素的个数;

2501_90213155的博客 1002

【ArcGIS Engine二次开发】入门基础(2):ArcGIS开发方式(VBA、DLL、Add-in、Engine)对比

文章目录2.1 使用VBA进行桌面软件开发2.1.1 VBA开发方式2.1.1 VBA代码的安全性2.2 使用DLL进行桌面软件开发2.2.1 DLL开发方式2.2.2 DLL功能的应用部署2.3 使用Add-in进行桌面软件开发2.4 使用ArcGIS Engine构建独立应用程序 对于桌面GIS应用来说,ArcGIS平台不仅提供了用于开发独立运行的GIS应用软件的二次开发工包ArcGIS Engine,还提供了对ArcGIS Deskop桌面软件进行扩展的开发的话,在开发个具体的GIS 行业应用软件时

智慧空间实验室 6496

java集合(Collection接口下的 List、Set 深入理解)

什么是java集合? 1、java集合大致分为Set、List、Queue、Map四种体系。      Set表示无序、不可重复的集合;      List代表有序重复的集合;      Map代表具有映射关系的集合;      Queue代表一种队列集合。 2、java集合就像一个容器,可以把多个对象(实际上是对象的引用,习惯都称之为对象)“丢进”该容器中。 3、java集合可以记住

暖心~的博客 5279

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Java-高级特性—集合框架

集合框架和泛型 Collection接口存储一组不唯一,无序的对象 List接口存储一组不唯一,有序(插入顺序)的对象 Set接口存储一组唯一,无序的对象 Map接口存储一组键值对象,提供key到value的映射(成对出现可以通过key找value,key是唯一的,无序的) 分为四大部分 ​ 1、Clollection集合 ​ 2、Map集合 ​ 3、Inerator迭代器 ​ 4、Utilities 工具类 List接口的实现类 ArrayList实现了长度可变的数组,在内存中分配连续

哆啦A梦 541

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

JAVA高级特性-List Set Map

JAVA高级特性-集合框架 为何需要用到集合框架? 在我们已需要存储的数据的个数时,往往可以采用数组存储或者自定义链表等数据结构存储数据。但是如果数据的长度是未知的,则无法满足我们的需求。 因此需要使用到JAVA中的集合框架存储相关数据。 集合框架之间的关系 在集合框架中比较常用的一般是ArrayList、LinkedList、HashSet、HashMap 接下来谈谈它们在使用时的一些注意事项-个人观点 List List接口存储一组 不唯一,有序(插入顺序) 的对象,其2个实现类为ArrayList,

qq_47139621的博客 627

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java高级特性 集合框架 educoder

JAVA中的集合:是一个工具类,就像是容器,存储任意数量具有共同属性的集合。 例如:购物车是商品的集合,军队是军人的集合。 为什么使用集合 我们已经知道集合就是能存储大量数据的一个容器,但是咱们在Java入门的时候学过数组,数组也是一个能存储大量数据的容器,好像也可以满足日常开发的需求,那我们为什么要使用集合呢? 如果说之前学习的数组是一根打狗棒的话,那我们将要学习的集合就可以看做是一根如意金箍棒了。 集合和数组有如下区别: 数组的长度固定,集合的长度可变; 数组只能通过下标访问元素,类型固定,而有的集合

光之尘的博客 2371

java高级特性-集合框架

集合框架是java提供的一套用于存储和操作数据的工具类,它位于java.util包中,包含了各种集合接口和实现类,以及一些排序和搜索的算法。集合框架的优点是可以方便地对数据进行增删改查,以及实现数据的排序、去重、筛选等功能。在本文中,我们将介绍集合框架的体系结构,以及常用的集合接口和类,如Collection、List、Set、Map、ArrayList、LinkedList、HashSet、HashMap等。我们还将学习如何使用集合框架提供的方法和工具类来操作集合中的数据。

m0_48081612的博客 1205

Java高级特性——集合框架

Java高级特性第一章集合框架 1、集合框架 ①不知道程序运行需要多少对象 ②需要多个数组——对应等更复杂的方式存储对象 可以使用Java集合框架 Java集合框架提供了一套性能优良,使用方便的接口和类,它们位于Java.util包中 ​ Collection接口存储一组不唯一,无序的对象 ​ List接口存储一组不唯一,有序(插入顺序)的对象 ​ Set接口存储一组唯一,无序的对象 ​ Map接口存储一组键值对象,提供key到value的映射 2、List接

weixin_46511924的博客 780

java高级特性之集合篇

java高级特性之集合,你学废了吗

weixin_43731861的博客 222

类集框架 一 :Collection接口:List集合、Set集合, 集合输出 - Java高级特性 15

目录 Collection接口 List集合接口 ArrayList子类 ArrayList保存自定义类 LinkedList子类 Vector子类 Set集合接口 HashSet子类 TreeSet子类 分析TreeSet类排序操作 分析重复元素删除 集合输出 Iterator输出 ListIterator输出 Enumeration枚举输出 foreach()方法 学习笔记 从JDK1.2开始Java引入了类集开发框架,所谓的类集指的就是一套动态对象数组的实现方案,在

57 522

Java 集合框架深度解析:从基础到实战

Java 集合框架是 Java 编程的核心基础,熟练掌握集合框架对于编写高效、健壮的 Java 程序至关重要。

喜欢吃Java炒饭QAQ 1642

2020最新Java集合面试题

1、ArrayList和linkedList的区别 Array(数组)是基于索引**(index)**的数据结构,它使用索引在数组中搜索和读取数据是很快的。 Array获取数据的时间复杂度是O(1),但是要删除数据却是开销很大,因为这需要重排数组中的所有数据, (因为删除数据以后, 需要把后面所有的数据前移) 缺点: 数组初始化必须指定初始化的长度, 否则报错 例如: int[] a = new int[4];//推荐使用int[] 这种方式初始化 int c[] = {23,43,56,78};//长

duchaochen的博客 1843

JAVA的高级特性——集合框架

为什么使用集合框架 如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象——可以使用Java集合框架 Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中 JAVA集合框架包含的内容 Collection接口存储一组不唯一,无序的对象 List接口存储一组不唯一,有序的(插入顺序)的对象 Set接口存出一组1唯一,无序的对象 Map接口存储一组键值对象,提供key到value的映射 Set接口 Set接口存储一组唯一,无序的对象 HashSet是Set接口

CSMCZM的博客 533

java高级特性:1.集合框架和泛型(一)list、Set 、Iterator

集合框架和泛型list Set Iterator 集合 集合与数组 数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。 集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。 ...

quicklyyyy的博客 332

Java集合框架详解:深入探讨Java中的集合框架

Java集合框架是Java语言中用于存储和操作大量数据的基石。集合框架提供了一套灵活的接口和实现,使得数据的存储、访问和管理变得异常简单。在本专栏中,我们将深入探讨Java集合框架,包括List、Set、Map等集合的使用和内部实现。接口(Interfaces):定义了集合的基本操作。实现(Implementations):提供了接口的具体实现。算法(Algorithms):用于操作或返回集合的实用方法。

无远弗届 604
上一篇: 9、MySQL——表与表之间的关系,多表查询、MySQL数据库的备份与恢复
下一篇: 2、HTML——标题分组、居中、引用标签、水平线标签下划线标签、删除标签、<font>标签、图像标签
恰似情书
博客等级 码龄4年 175粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值