第十二章总结

news2024/12/26 11:47:27

一.集合类概述
        java.util包中提供了一些集合类,这些集合类又被称为容器。

集合类与数组的不同之处:
        数组的长度是固定的,集合的长度是可变的:数组用来存放基本类型的数据,集合用来存放对象的引用。

        常用的集合有List集合、Set集合和Map集合,其中List集合与Set集合继承了Collection接口,各接口还提供了不同的实现类。

二.Collection接口
        Collection接口是层次结构中的根接口,构成Collection的单位称为元素。

        Collection接口通常不能直接使用,但该接口提供了添加元素、删除元素、管理数据的方法。由于List接口与Set接口都继承了Collection接口,因此这些方法对List集合与Set集合是通用的。

        如何遍历集合中的每个元素?
        通常遍历集合,都是通过迭代器(Iterator)来实现。Collection接口中的iterator()方法可返回在此Collection进行迭代的迭代器。

【例12.1】向“购物车”添加商品
代码:

结果:

        

三.List集合
        List集合包括List接口以及List接口的所有实现类。

        List集合中的元素允许重复,各元素的顺序就是对象插入的顺序。类似Java数组,用户可以通过使用索引(元素在集合中的位置)来访问集合中的元素。

     

        1.List接口
        LIst接口继承了Collection接口,因此包含Collection接口中的所有方法。此外,List接口还定义了两个非常重要的方法:(1)get(int index):获得指定索引位置的元素。
 
(2)set(int index,Object obj):将集合中指定索引位置的对象修改为指定的对象。

(1)get(int index):获得指定索引位置的元素。
 
(2)set(int index,Object obj):将集合中指定索引位置的对象修改为指定的对象。
        2.List接口的实现类 
        List接口的常用实现类有ArrayList类与LinkedList类:

(1)ArrayList类实现了可变的数组,允许保存所有元素,包括null,并可以根据索引位置对集合进行快速的随机访问。缺点是向指定的索引位置插入对象或删除对象的速度较慢。

(2)LinkList类采用链表结构保存对象。这种结构的优点是便于向集合中插入和删除对象。需要向集合中插入、删除对象时,使用LinkedList类实现的List集合的效率较高;但对于随机访问集合中的对象,使用LinkedList类实现List集合的效率较低。

        

        使用List集合时通常声明为List类型,可通过不同的实现类来实例化集合。通过ArrayList类、

LinkedList类分别实例化List集合的代码如下:

List<E>list=new ArrayList<>();
List<E>list2=new LinkedList<>();
 在上面的代码中,E可以是合法的Java数据类型。

        List接口的常用方法:

添加:add()

获取:get()

删除:remove()

更改:set()

【例12.2】举例说明List集合的常用方法
代码:

结果:

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

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

相关文章

windows10系统下Python3.11中安装Numpy库教程

Python3.11中安装Numpy库目录 项目场景&#xff1a;问题描述解决方案&#xff1a;①下载Numpy文件②把NumPy文件放到Python安装的Scripts文件夹里。③安装numpy④安装验证 项目场景&#xff1a; numpy是开源的数值计算扩展&#xff0c;用于数据分析、机器学习、科学计算的重要…

(第十一天)初识SpringMVC SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录

SSM框架的学习与应用(Spring Spring MVC MyBatis)-Java EE企业级应用开发学习记录&#xff08;第十一天&#xff09;初识SpringMVC 今天我们要来学习一下SSM框架的最后一个框架SpringMVC 一、初认SpringMVC 基本概念&#xff1a; ​ Spring MVC&#xff08;Model-View-Co…

Qt应用开发(基础篇)——菜单 QMenu

一、前言 QMenu类继承于QWidget&#xff0c;它提供了一个菜单样式的小部件&#xff0c;用于菜单栏、上下文菜单和一些弹出式菜单。 QMenu菜单的选项是可选的&#xff0c;它可以是一个下拉的菜单&#xff0c;也可以是独立的上下文菜单。下拉菜单通常作用于当用户单击相应的项目或…

Unity——模拟AI视觉

人类的视觉系统有以下几个特点&#xff1a; 距离有限。近处看得清&#xff0c;远处看不清容易被遮挡。不能穿过任何不透明的障碍物视野范围大约为90度。实现正前方信息丰富&#xff0c;具有色彩和细节&#xff1b;实现外侧的部分只有轮廓和运动信息注意力有限。当关注某个具体的…

深入浅出学Verilog--数据类型

1、数值类型 在Verilog可以用4种数值来描述其构建的电路的电平逻辑&#xff0c;除了event类型和real类型外&#xff0c;几乎所有的数据类型都可以用这4种数值来表示。 0&#xff1a;代表逻辑0&#xff0c;或者条件“假”1&#xff1a;代表逻辑1&#xff0c;或者条件“真”x或X…

ubuntu基本配置

记录一下每次重新安装系统之后都要进程的操作 更新源 更新源的教程 sudo bash -c "cat << EOF > /etc/apt/sources.list && apt update deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb-src http://mirrors.a…

《Envoy 代理:云原生时代的流量管理》

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f405;&#x1f43e;猫头虎建议程序员必备技术栈一览表&#x1f4d6;&#xff1a; &#x1f6e0;️ 全栈技术 Full Stack: &#x1f4da…

持安科技孙维伯:零信任理念下的实战攻防:ISC2023数字小镇演讲

近日&#xff0c;在ISC 2023第十一届互联网安全大会上&#xff0c;持安科技联合创始人孙维伯作为零信任办公安全赛道代表&#xff0c;亮相数字小镇New50&#xff0c;并发表《全方位防御&#xff1a;零信任理念下的实战攻防》主题演讲。 以下是本次演讲实录&#xff1a; 这几年…

第9章_freeRTOS入门与工程实践之任务管理

本教程基于韦东山百问网出的 DShanMCU-F103开发板 进行编写&#xff0c;需要的同学可以在这里获取&#xff1a; https://item.taobao.com/item.htm?id724601559592 配套资料获取&#xff1a;https://rtos.100ask.net/zh/freeRTOS/DShanMCU-F103 freeRTOS系列教程之freeRTOS入…

考虑负荷满意度的微电网运行多目标优化方法研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

基本Dos命令

1.打开cmd的方式 &#xff08;1&#xff09;winR&#xff0c;输入cmd即可 &#xff08;2&#xff09;在任意文件夹下面&#xff0c;按住shift键后点击鼠标右键&#xff0c;即可在此文件夹目录下打开命令行窗口。 &#xff08;3&#xff09;资源管理器的地址栏前面加上 cmd…

云原生Kubernetes:K8S实用插件和工具

目录 一、理论 1.Kubectl插件 2.kubens 3.krew 二、实验 1.kubectl插件 2.kubens 3.krew 一、理论 1.kubectl插件 &#xff08;1&#xff09;概念 kubectl插件其实就是以kubectl-为前缀的任意可执行文件&#xff0c;比如执行: ln -s /bin/echo /usr/local/bin/ku…

Mybatis-plus 自动生成代码

Mybatis-plus 自动生成代码 这里主要是介绍 Mybatis-plus 自动生成代码操作流程&#xff0c;方便以后查阅&#xff01;&#xff01;&#xff01; 一、简介 MyBatis-Plus (opens new window)&#xff08;简称 MP&#xff09;是一个 MyBatis 的增强工具&#xff0c;在 MyBatis …

一点整理

&#xff08;1&#xff09; 美国在2010年以后开始流行数字化转型的。 在2010年以前&#xff0c; 2006年社交网络FB “YOU”&#xff1a;在2004-2006 Web2.0热之前&#xff0c;企业是无法直接触达到每个消费者的2006年Amazon电子商务&#xff1a;这个是我瞎凑的&#xff0c;但因…

js中如何实现一个简单的防抖函数?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 防抖函数⭐ 使用示例⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏…

第一颗国产 单/双端口 MIPI CSI/DSI 至 HDMI 1.4 发射器 芯片LT9611

1. 描述 LT9611 MIPI DSI/CSI 至 HDMI1.4 桥接器具有双端口 MIPI D-PHY 接收器前端配置&#xff0c;每个端口有 4 个数据通道&#xff0c;每个数据通道以 2Gbps 的速度工作&#xff0c;最大输入带宽为 16Gbps。 该桥接器提供一个 HDMI 数据输出&#xff0c;具有可选的 …

(面试经典刷题)挑战一周刷完150道-Python版本-第1天(11个题)

一、合并数组 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺序 排列。 注意&#xff1a;最终&#xff0…

Multisim14.0仿真(十一)差分放大器

一、仿真原理图&#xff1a; 二、仿真效果图&#xff1a;

c++仿照string类,完成myString 类

#include <iostream> #include <cstring>using namespace std;class myString {private:char *str; //记录c风格的字符串int size; //记录字符串的实际长度public://无参构造myString():size(10){str new char[size1]; //构造出一个长…

Java“牵手”1688商品详情数据,1688商品详情接口,1688API接口申请指南

1688商品详情API接口的作用是获取1688平台上某个商品的详细信息&#xff0c;包括商品标题、价格、图片、规格、参数、店铺信息等。 开发者可以通过该接口获取到商品的原始数据&#xff0c;方便进行数据分析、价格比较、爬取等操作。通过该接口获取到的商品详情数据可以结合其他…