第七章 集合相关知识

news2025/1/31 23:52:54

什么是集合

为了存储不同类型的多个对象, Java提供了一系列特殊的类, 这些类可以存储任意类型的对象,并且存储的长度可变,被统称为集合。集合可以简单理解为一个长度可变可以存储不同数据类型的动态数组集合都位于java.uti包中,使用集合时必须导入java.util包。

集合体系核心架构

82eef19f11b34009b8d8622c40b675ca.jpg

Collection接口的定义

Collection接口是Java单列集合中的根接口,它定义了各种具体单列集合的共性,其他单列集合大多直接或间接继承该接口,Collection接口的定义如下所示:

public interface Collection<E> extends Iterable<E>{   Query Operations

}

由上述Collection接C的定义可以看到,Collection是Iterable的子接口, Collection和Iterable后面的<E>表示它们都使用了泛型。

import java.util.Collection;

import java. util. *;

/*

* Collection 单列集合的操作:

*add() 一次添加一个

*addAll()一个添加一个集合

*remove()一次删除一个

*removeAll()一次删除一个集合

*isEmpty()判断是否为空空true 不空false

*contains()是否包含指定元素是true 不是false

*containsAll(),

*size()集合中元素的个数

* */

public class Test {

    public static void main(String[] args) {

        Collection col = new ArrayList();

        col.add("张三");

        col. add("李四");

        Collection col2 = new ArrayList();

        col2. add("王五");

        col2. add("赵六");

        col. addAll(col2);

        System. out. println(col. size());

        col. remove("张三");

        System. out. println(col. size());

        col. removeAll(col2);

        System. out. println(col. size());

        System. out. println (col. isEmpty());

        col. remove("李四");

        System. out. println(col. isEmpty());

        System. out. println(col. contains("李四"));

        col. add("李四");

        System. out. println (col. contains("李四"));

        System. out. println(col. containsAll(col2));

        col. addAll(col2) ;

        System. out. println(col. containsAll(col2));

    }

}

List接口简介

List接口继承自Collection接口,List接口实例中允许存储重复的元素,所有的元素以线性方式进行存储。在程序中可以通过索引访问List接口实例中存储的元素。另外,List接口实例中存储的元素是有序的,即元素的存入顺序和取出顺序一致。

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

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

相关文章

前端二面必会手写面试题汇总

实现Vue reactive响应式 // Dep module class Dep {static stack []static target nulldeps nullconstructor() {this.deps new Set()}depend() {if (Dep.target) {this.deps.add(Dep.target)}}notify() {this.deps.forEach(w > w.update())}static pushTarget(t) {if …

LeetCode刷题复盘笔记—一文搞懂动态规划之300. 最长递增子序列问题(动态规划系列第二十七篇)

今日主要总结一下动态规划的一道题目&#xff0c;300. 最长递增子序列 题目&#xff1a;300. 最长递增子序列 Leetcode题目地址 题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除…

想要月入过万?不防尝试一下Python这个职业!

自从20世纪90年代初发布以来&#xff0c;Python一直相当火爆&#xff0c;在这二十多年里&#xff0c;它的流行程度远远超过了C、C#、Java甚至Javascript。 Python为什么受欢迎&#xff1f; Python迅猛发展背后的一个主要驱动力是它学习起来相当容易&#xff0c;使用起来功能强…

程序员需要了解的硬核知识CPU

大家都是程序员&#xff0c;大家都是和计算机打交道的程序员&#xff0c;大家都是和计算机中软件硬件打交道的程序员&#xff0c;大家都是和CPU打交道的程序员&#xff0c;所以&#xff0c;不管你是玩儿硬件的还是做软件的&#xff0c;你的世界都少不了计算机最核心的 - CPU C…

【C语言进阶】通讯录不好用?进来,零基础带你写出自己的通讯录

目录 &#x1f929;前言&#x1f929;&#xff1a; &#x1f60e;正文&#xff1a;编写通讯录&#x1f60e;&#xff1a; 1.文件建立&#xff1a; ①.头文件Contact.h&#xff1a; ②.函数定义文件Contact.c&#xff1a; ③.工程测试文件test.c&#xff1a; 2.通讯录整体执行…

A White Paper on Neural Network Quantization--阅读笔记1

A White Paper on Neural Network Quantization--阅读笔记1一、模型量化的意义二、量化主要做什么三、目前量化主要分类四、量化基本知识介绍0、基本知识1、误差来源2、量化范围的设定五、量化方法介绍1、均匀仿射量化(Uniform affine quantization)2、对称均匀量化(Symmetric …

热门技术中的应用:微服务相关协议-第35讲-二进制类RPC协议:还是叫NBA吧,总说全称多费劲

前面我们讲了两个常用文本类的RPC协议,对于陌生人之间的沟通,用NBA、CBA这样的缩略语,会使得协议约定非常不方便。 在讲CDN和DNS的时候,我们讲过接入层的设计,对于静态资源或者动态资源静态化的部分都可以做缓存。但是对于下单、支付等交易场景,还是需要调用API。 对于…

基于yolov5的智慧交通监测系统

本项目实现了智慧交通监测、红绿灯监测、行人监测、车辆识别、斑马线闯红灯监测等多种监测功能。 目录 背景 演示效果&#xff1a; 检测代码样例&#xff1a; 最后的检测效果如图所示 项目具体的工作流程为&#xff1a; 总结&#xff1a; 背景 针对城市交通拥堵问题&#x…

Effective C++条款33:避免遮掩继承而来的名称(Avoid hiding inherited names)

Effective C条款33&#xff1a;避免遮掩继承而来的名称&#xff08;Avoid hiding inherited names&#xff09;条款33&#xff1a;避免遮掩继承而来的名称1、同名全局变量在局部作用域中被隐藏2、继承中的隐藏3、进一步论证——继承中的函数的隐藏4、如何将隐藏的行为进行覆盖4…

vTESTstudio入门到精通 - 如何自动化控制Simulation节点_03

我们工作中经常会遇到需要仿真大量的CAN/CANFD报文的情况,通常我们只能通过人工去测试,因为很难实现仿真控制大量报文的发送和停止?那我们该如何去解决呢? 今天我们主要来解决这个问题,通过CAPL去控制simulation节点的仿真发送和停止,最大限度的在实验室仿真实车的报文数…

段错误产生原因

嵌入式C开发&#xff0c;或多或少都遇到段错误&#xff08;segmentation fault &#xff09;。 下面是一些典型的段错误产生的原因&#xff1a; 访问不存在的内存地址 访问只读的内存地址 栈溢出 内存越界 …… 实例 1. 访问不存在的内存地址 #include <stdio.h>in…

小学生C++编程基础 课程7(A)

897.a到b (课程7&#xff09; 难度&#xff1a;1 登录 898.2位偶数 &#xff08;课程7&#xff09; 难度&#xff1a;1 登录 899.从0开始&#xff08;课程7&#xff09; 登录 900.前面数 &#xff08;课程7&#xff09; 登录 901.奇数 (课程7) 登录 902.7的倍数 (课程7) …

第二证券|新冠药销售占比不到1.5%,三连板医药龙头跌停!

今天早盘&#xff0c;A股商场延续调整态势&#xff0c;沪指震动失守3100点整数关口&#xff0c;深证成指、创业板指跌幅在1%左右。 虽然指数体现不佳&#xff0c;但个股层面不乏亮点。从涨跌份额来看&#xff0c;早盘A股商场有2695只股票上涨&#xff0c;2017只股票跌落&#x…

计算机毕设Python+Vue学生在线请假管理系统(程序+LW+部署)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

双向扩散模型

🍿*★,*:.☆欢迎您/$:*.★* 🍿 简单的描述是一个图先扩散为噪声而后 噪声扩散为另一个图 这样的思路类似如 当人类看到图之后 开始联想和脑补 不断的脑补 一步一步的 脑补出另一幅图 比如给定图的一部分 脑补出另一部分 与传统的扩散模型 不同的点在于 初始给定的是一个…

2022 UUCTF Web

目录 <1> Web (1) websign(禁用js绕过) (2) ez_rce(?>闭合 rce) (3) ez_unser(引用传递) (4) ez_upload(apache后缀解析漏洞) (5) ezsql(union注入) (6) funmd5(代码审计 %0a绕过preg_replace) (7) phonecode(伪随机数漏洞) (8) ezpop(反序列化字符串逃逸) …

Sharding-JDBC(三)按月分表

目录1.Maven 依赖2.创建表结构3.yml 配置4.TimeShardingAlgorithm.java 分片算法类5.ShardingAlgorithmTool.java 分片工具类6.ShardingTablesLoadRunner.java 初始化缓存类7.SpringUtil.java Spring工具类8.代码测试9.测试结果背景&#xff1a; 项目用户数据库表量太大&#x…

20221220英语学习

今日新词&#xff1a; hurt adj.&#xff08;身体上&#xff09;受伤的, &#xff08;感情上&#xff09;受伤的 blood n.血, 血统, 有…类型的血的, 家世 sister adj.姐妹的, 同类(型)的 humour n.&#xff08; humor&#xff09;幽默, 心情, 情绪, 脾气 holiness n.神圣…

UX设计师是做什么的,现在怎么样

对设计领域略知一点的学生都知道UX设计已经流行了很长一段时间&#xff0c;几年前它的平均工资甚至超过了程序员&#xff0c;那么它的未来会一如既往地保持它的热度吗&#xff1f;未来稳定增长的高薪会下降吗&#xff1f;UX可以称之为科技领域的新秀。根据去年的数据统计&#…

AnQICMS 安装步骤教程

AnQICMS 安装步骤教程 支持的系统 支持 Windows 7、Windows 8、Windows 10、Windows 11、Windows server 各个版本。 Windows XP 未测试 支持 Ubuntu、Centos、Red Hat、Debian 等 基于 X86 的 Linux 版本。 支持 MacOS。 Linux服务器上部署AnQiCMS 先从 https://www.anqic…