Java第十二章(合集类)

news2025/2/25 2:24:47

概述

集合可以看作一个容器;集合中的每个对象,可以很容易取出存放,还可以按照一定的顺序摆放

提到容器,不难想到数组,集合类和数组的不同之处是,数组的长度是固定的集合的长度是可变

,数组用来存放基本类型,数据集合用来存放对象的引用

关于集合类的继承关系如下图

collection接口
collection接口是层次结构中的根接口,构成collection的单位称为元素,collection接口通常不能直

接使用,但该接口提供了添加元素,删除元素,管理数据的方法,由于list接口和set接口都继承了

collection接口,因此这些方法对list集合和set集合是通用的 

常用方法如下
 

package yi;
 
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
 
public class Shnagpin {
 
	public static void main(String[] args) {
		Collection<String>list=new ArrayList<>();
		list.add("《Java从入门到精通》");
		list.add("《零基础学Java》");
		list.add("《java精彩编程200例》");
		Iterator<String>it=list.iterator();//创建迭代器
		while(it.hasNext()) {//判断是否有下一个元素
			System.out.println(it.next());
			
		}
	}
 
}
 

List接口的实现类
ArrayList:实现了可变的数组,允许保存所有元素,包括空元素;

                可以根据索引位置进行快速的查找

                缺点是向指定的索引位置插入对象或删除对象的速度较慢

LinkedList:采用链表结构保存对象;

                这种结构的优点是便于向集合中插入和删除对象

                但是使用查找的话会较慢

Map接口的实现类
HashSet:基于哈希表的Map接口的实现,允许使用null值和null键,但必须保证键的唯一性;

                不保证映射顺序,不保证该顺序恒久不变

TreeSet :集合中的映射关系有一定的顺序,但在添加、输出、定位映射关系时。TreeMap比HashMap类性能要差,因为是按一定顺序排序的,所以不允许使用null值

我们一般全部打印都不会这样输出。不够直观,我们可以修改一下代码,使得是我们日常使用的样子

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1297841.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

操作系统考研考点补充(王道408)

文章目录 前言计算机系统概述OS的基本概念OS的发展历程OS的运行机制OS体系结构OS引导虚拟机 前言 学校OS课程的知识和408有一定的重叠&#xff0c;但是还不太够&#xff0c;因此我又一次打开了王道的OS课程。 这个笔记同理&#xff0c;只记最关键的内容和思考&#xff0c;直接…

LeetCode Hot100 78.子集

题目&#xff1a; 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 方法&#xff1a;灵神 选 or 不选 class Solution {private final List&…

报错:Parsed mapper file: ‘file mapper.xml 导致无法启动

报错 &#xff1a; Logging initialized using class org.apache.ibatis.logging.stdout.StdOutImpl adapter. Registered plugin: com.github.yulichang.interceptor.MPJInterceptor3b2c8bda Parsed mapper file: file [/Mapper.xml] application无法启动 我这边产生原因是项…

【Unity】Addressable包资源加载失败:CRC Mismatch.

Error while downloading Asset Bundle: CRC Mismatch. 是资源下载校验失败&#xff0c;但是资源和上次打包的资源是一样的。没有排查到原因&#xff0c;在谷歌搜索后看到 大概就是指Unity版本修改后打包&#xff0c;会破坏原来的CRC信息&#xff0c;导致导报出来的资源无法通…

mybatis数据输出-单个简单类型和返回实体类型对象以及别名设置

1、建库建表 CREATE DATABASE mybatis-example;USE mybatis-example;CREATE TABLE t_emp(emp_id INT AUTO_INCREMENT,emp_name CHAR(100),emp_salary DOUBLE(10,5),PRIMARY KEY(emp_id) );INSERT INTO t_emp(emp_name,emp_salary) VALUES("tom",200.33); INSERT INTO…

APP备案,最新获取安卓签名文件中MD5等信息方法

1.通过签名文件获取SHA1和SHA256 直接通过cmd执行命令 keytool -list -v -keystore xxxxx/xxx/xx/xxx.keystore输入后回车会提示输入密码库口令&#xff0c;直接输入Keystore密码&#xff08;输入过程中终端上不会显示&#xff0c;输完回车就行&#xff09; 2.获取md5 由于…

Android Studio Hedgehog | 2023.1.1(刺猬)

Android Gradle 插件和 Android Studio 兼容性 Android Studio 构建系统基于 Gradle&#xff0c;并且 Android Gradle 插件 (AGP) 添加了一些特定于构建 Android 应用程序的功能。下表列出了每个版本的 Android Studio 所需的 AGP 版本。 Android Studio versionRequired AG…

代码随想录二刷 |二叉树 |填充每个节点的下一个右侧节点指针II

代码随想录二刷 &#xff5c;二叉树 &#xff5c;填充每个节点的下一个右侧节点指针II 题目描述解题思路代码实现 题目描述 117.填充每个节点的下一个右侧节点指针II 给定一个二叉树&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; }填充它的每个 ne…

上网行为管理软件如何监控员工访问网址信息

上网行为管理软件可以通过域之盾软件来监控员工访问的网址信息&#xff1a; 主要方式↓ 1、网页日志记录 上网行为管理软件可以通过网页日志记录功能&#xff0c;完整地记录员工在工作中访问的所有网站&#xff0c;包括访问时间、访问页面、访问方式等&#xff0c;从而实现对…

【Pytorch】Fizz Buzz

文章目录 1 数据编码2 网络搭建3 网络配置&#xff0c;训练4 结果预测5 翻车现场 学习参考来自&#xff1a; Fizz Buzz in Tensorflowhttps://github.com/wmn7/ML_Practice/tree/master/2019_06_10Fizz Buzz in Pytorch I need you to print the numbers from 1 to 100, excep…

快捷切换raw页面到repo页面-Raw2Repo插件

Raw2Repo By Rick &#x1f4d6;快捷切换代码托管平台raw页面到repo页面 &#x1f517;github链接 https://github.com/rickhqh/Raw2Repo ✨Features 功能&#xff1a; ✅单击 Raw2Repo 插件按钮&#xff0c;即可跳转到相应的代码仓库页面。✅支持 GitHub、Gitee、GitCode …

ChatGPT OpenAI API请求限制 尝试解决

1. OpenAI API请求限制 Retrying langchain.chat_models.openai.ChatOpenAI.completion_with_retry.._completion_with_retry in 4.0 seconds as it raised RateLimitError: Rate limit reached for gpt-3.5-turbo-16k in organization org-U7I2eKpAo6xA7RUa2Nq307ae on reques…

Ignis - Interactive Fire System

Ignis - 点火、蔓延、熄灭、定制! 全方位火焰系统。 这个插件在21年的项目中使用过很好用值使用概述 想玩火吗?如果想的话,那么Ignis就是你的最佳工具。有了Ignis,你可以把任何物体、植被或带皮带骨的网状物转换为可燃物体,它就会自动着火。然后,火焰可以蔓延,点燃其他物…

C++_函数重载

前言&#xff1a; 函数重载的意思就是可以有多个同名函数存在&#xff0c;但是这些同名函数的参数列表有着不同情形&#xff0c;以便区分。在C中&#xff0c;支持在同一作用域下可以声明、定义多个同名函数&#xff0c;但是这些函数的形参类型&#xff0c;类型顺序以及参数个数…

dcat admin多后台和自定义登录

多后台按照教程配置 https://learnku.com/docs/dcat-admin/2.x/multi-application-multi-background/8475 自定义登录 我的新后台的登录需要另外一个用户表&#xff0c;所以原来的逻辑要修改一下。 1、首先是模板修改 参考连接 https://learnku.com/docs/dcat-admin/2.x/ba…

UML案例分析

首先需要花大约20分钟来思考解决这个问题&#xff0c;如果对问题不是很熟悉&#xff0c;也可以在完成题目之后&#xff0c;找相关的资料翻阅&#xff08;例如看UML类图的基本情况&#xff0c;UML状态图的基本情况&#xff0c;然后结合这些信息 做一个自我评价&#xff0c;看这个…

Error: Cannot find module ‘E:\Workspace_zwf\mall\build\webpack.dev.conf.js‘

执行&#xff1a;npm run dev E:\Workspace_zwf\zengwenfeng-master>npm run dev> mall-app-web1.0.0 dev E:\Workspace_zwf\zengwenfeng-master > webpack-dev-server --inline --progress --config build/webpack.dev.conf.jsinternal/modules/cjs/loader.js:983thr…

多线程案例-单例模式

单例模式 设计模式的概念 设计模式好比象棋中的"棋谱".红方当头炮,黑方马来跳.针对红方的一些走法,黑方应招的时候有一些固定的套路.按照套路来走局势就不会吃亏. 软件开发中也有很多常见的"问题场景".针对这些问题的场景,大佬们总结出了一些固定的套路.按…

docker容器配置MySQL与远程连接设置(纯步骤)

以下为ubuntu20.04环境&#xff0c;默认已安装docker&#xff0c;没安装的网上随便找个教程就好了 拉去mysql镜像 docker pull mysql这样是默认拉取最新的版本latest 这样是指定版本拉取 docker pull mysql:5.7查看已安装的mysql镜像 docker images通过镜像生成容器 docke…

初识人工智能,一文读懂迁移学习的知识文集(4)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…