集合框架05:List接口使用、List实现类、ArrayList使用

视频链接:13.11 ArrayList使用_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1zD4y1Q7Fw?p=11&vd_source=b5775c3a4ea16a5306db9c7c1c1486b5

1.List接口使用代码举例

package com.yundait.Demo01;import java.util.ArrayList;
import java.util.List;public class ListDemo02 {public static void main(String[] args){//创建集合List list = new ArrayList<>();//1.添加数字数据(自动装箱)list.add(20);list.add(30);list.add(40);list.add(50);list.add(60);System.out.println("元素个数" + list.size());System.out.println(list.toString());//2.删除操作//list.remove(0);通过下标方式删除list.remove(new Integer(20));System.out.println("元素个数" + list.size());System.out.println(list.toString());//3.subList方法;返回子集合,含头不含尾(左闭右开)List subList = list.subList(1, 3);System.out.println(subList.toString());}}

输出结果:

2.List实现类介绍

3.ArrayList使用代码示例

重写Student类的equals方法:

package com.yundait.Demo01;/****学生类* @author zhang*/
public class Student {private String name;private int age;public Student() {}public Student(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +'}';}@Overridepublic boolean equals(Object obj) {//1.判断是不是同一个对象if (this==obj){return true;}//2.判断是否为空if (obj==null){return false;}//3.判断是否为Student类型if (obj instanceof Student){Student s = (Student)obj;//4.比较属性if (this.name.equals(s.getName())&&this.age == s.getAge()){return true;}}//5.不满足条件返回falsereturn false;}
}
package com.yundait.Demo01;import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;public class ArrayListDemo01 {public static void main(String[] args) {//创建集合ArrayList arrayList = new ArrayList<>();//1.添加元素Student s1 = new Student("刘德华",20);Student s2 = new Student("郭富城",22);Student s3 = new Student("梁朝伟",24);Student s4 = new Student("甄子丹",18);arrayList.add(s1);arrayList.add(s2);arrayList.add(s3);arrayList.add(s4);System.out.println("元素个数" + arrayList.size());System.out.println(arrayList.toString());//2.删除元素//arrayList.remove(s1);arrayList.remove(new Student("刘德华",20)); //要想以这种方式删除需要重写equals方法System.out.println("删除之后元素个数" + arrayList.size());System.out.println(arrayList.toString());//3.遍历//3.1 使用Iterator进行遍历System.out.println("--------3.1 使用Iterator进行遍历---------");Iterator it = arrayList.iterator();while (it.hasNext()){Student s = (Student)it.next();System.out.println(s.toString());}//3.2使用ListIterator进行正序遍历System.out.println("----------3.2使用ListIterator进行正序遍历-----------");ListIterator lit= arrayList.listIterator();while(lit.hasNext()){Student s = (Student) lit.next();System.out.println(s.toString());}//3.3使用ListIterator进行逆序遍历System.out.println("----------3.2使用ListIterator进行逆序遍历-----------");while (lit.hasPrevious()){Student s = (Student) lit.previous();System.out.println(s.toString());}//4.判断//要实现一下方式删除的前提也是需要重写equals方法System.out.println(arrayList.contains(new Student("梁朝伟",24)));System.out.println(arrayList.isEmpty());//查找元素位置System.out.println(arrayList.indexOf(new Student("梁朝伟",24)));}
}

输出结果:

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dowhy中反驳实验怎么做?

首先&#xff0c;我们打开最新的dowhy版本网站。 https://www.pywhy.org/dowhy/v0.11.1/index.html 我们主要看标题栏的User Guide和Examples就可以了&#xff0c;如果在User Guide 里找不到使用方法&#xff0c;就去Examples里找例子&#xff0c;里面的数据读取修改为自己的数…

Copilot Coaching新功能铸就Word更强

Copilot 的意思是副驾驶。 现在&#xff0c;您的副驾驶教练来了&#xff1a;Copilot Coaching Copilot Coaching 是 Word 中的一项新 Copilot 功能&#xff0c;可在您查看内容时为您提供支持&#xff0c;以实现语法和拼写之外的改进 - 帮助您澄清想法&#xff0c;并为您提供有…

前端反馈弹框组件封装

一、需求背景 需要针对某个功能进行用户调查反馈&#xff0c;设计一个弹框&#xff0c;进行后端入表记录&#xff0c;以便后期进行数据分析。 二、实现UI 三、代码留存 以vue为例 <template><div class"advice-container"><van-dialogv-model"…

【父子线程传值TransmittableThreadLocal使用踩坑-及相关知识拓展】

文章目录 一.业务背景二.TransmittableThreadLocal是什么&#xff1f;三.问题复现1.定义注解DigitalAngel2.定义切面3.TransmittableThreadLocal相关4.线程池配置信息5.Controller6.Service7.测试结果8.问题分析9 解决办法及代码改造10.最终测试&#xff1a; 四.与 ThreadLocal…

02复写零

复写零 我们先进行异地复写&#xff1a;代码如下 public class Test {public static void main(String[] args) {int []array {1,0,2,3,0,4};duplicateZeros(array);}public static void duplicateZeros(int[] arr) {int [] elemnew int[arr.length];for(int cur0,dest0;des…

QD1-P17 HTML 下拉框标签(select、option)

本节学习 HTML 常用标签&#xff1a;select和option ‍ 本节视频 www.bilibili.com/video/BV1n64y1U7oj?p17 ‍ 知识点1&#xff1a;select标签用法 演示 ​​ HTML <select name"city"><option>北京</option><option>上海</opti…

新版Win32高级编程教程-学习笔记01:应用程序分类

互联网行业 算法研发工程师 目录 新版Win32高级编程教程-学习笔记01&#xff1a;应用程序分类 控制台程序 强烈注意 窗口程序 启动项 程序入口函数 库程序 静态库 动态库程序 几种应用程序的区别 控制台程序 本身没有窗口&#xff0c;其中的doc窗口&#xff0c;是管…

【通信协议讲解】单片机基础重点通信协议解析与总结(IIC,CAN,MODBUS...)

目录 一.IIC总线 基础特性&#xff1a; 配置特性&#xff1a; 时序特性&#xff1a; 二.SPI总线 基础特性&#xff1a; 配置特性&#xff1a; 时序特性&#xff1a; 三.串口通信 基础特性&#xff1a; 配置特性&#xff1a; 时序特性&#xff1a; 四.CAN总线 基础特性…

三款GIS工具多角度对比:免费的倾斜摄影OSGB/3Dtiles编辑转换发布平台

GIS数据处理工具在现代技术与应用中扮演着至关重要的角色&#xff0c;它们不仅是连接原始地理信息与可分析、可视化数据的桥梁&#xff0c;更是推动地理信息系统&#xff08;GIS&#xff09;在各个行业领域深入发展与应用不可或缺的关键工具。选择一款合适的工具直接关系到数据…

HttpURLConnection学习

介绍 HttpURLConnection类是位于java.net包下继承了URLConnection类的一个抽象类&#xff0c;每个 HttpURLConnection 实例都用于发出单个请求。 URL HttpURLConnection的使用需要依赖URL类&#xff0c;URL类位于java.net包下&#xff0c;有很多种构造方法。 HttpURLConnect…

AI引起用人格局变动,个人如何应对这一趋势

大家好&#xff0c;我是Shelly&#xff0c;一个专注于输出AI工具和科技前沿内容的AI应用教练&#xff0c;体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具&#xff0c;拥抱AI时代的到来。 人工智能的发展带来的就业结构变革&#xf…

论文笔记:D-vlog 用于抑郁症检测的多模态数据集

整理了AAAI2022 D-vlog: Multimodal Vlog Dataset for Depression Detection 论文的阅读笔记 背景方法特征提取模型 实验数据集主实验不同模态的性能性别的影响 背景 以往关于抑郁症检测的工作大多集中在实验室环境下对抑郁症个体的检测&#xff0c;难以在实践中推广。本文提出…

图解C#高级教程(五):枚举器和迭代器

本章主要介绍 C# 当中枚举器、可枚举类型以及迭代器相关的知识。 文章目录 1. 枚举器和可枚举类型2. IEnumerator 和 IEnumerable 接口2.1 IEnumerator 接口2.2 IEnumerable 接口 3. 泛型枚举接口4. 迭代器4.1 使用迭代器创建枚举器4.2 使用迭代器创建可枚举类4.3 迭代器作为属…

消峰限流有哪几种方式?

消峰限流的方式 业务视角 验证码回答问题环节 技术视角 消息队列异步化用户请求 限流&#xff0c;对流量进行层层过滤 nginx 层限流&#xff0c; 一是控制速率 limit_req 漏桶算法 limit_req_zone $binary_remote_addr zonemylimit:10m rate2r/s; server { location / { lim…

leetcode链表(三)-反转链表

题目 . - 力扣&#xff08;LeetCode&#xff09; 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 思路 首先定义一个cur指针&#xff0c;指向头结点&#xff0c;再定义一个pre指针&#xff0c;初始化为None。 然后就要开始反转了&…

其他浏览器可以联网,但edge不能联网

问题描述&#xff1a; 今早edge无法上网&#xff0c;检测网络连接正常&#xff0c;而且其他chrome&#xff0c;Firefox和360浏览器都可以上网。 解决方案&#xff1a; 注意&#xff1a;为防止是代理问题&#xff0c;可以在扩展中禁用后再试试 如果没有代理或者禁用代理也不…

基于SpringBoot摄影师分享交流社区【附源码】

基于SpringBoot摄影师分享交流社区 效果如下&#xff1a; 系统首页界面 用户注册界面 作品信息页面 公告资讯页面 管理员登录页面 管理员功能界面 作品类别界面 作品信息界面 研究背景 随着互联网技术的快速发展&#xff0c;数字摄影技术的普及使得越来越多的摄影爱好者渴望…

Python、R语言Lasso、Ridge岭回归、XGBoost分析Airbnb房屋数据:旅游市场差异、价格预测|数据分享...

全文链接&#xff1a;https://tecdat.cn/?p37839 分析师&#xff1a;Kefan Yu 在大众旅游蓬勃发展的背景下&#xff0c;乡村旅游已成为推动乡村经济、社会和文化发展的关键力量。当前&#xff0c;乡村旅游接待设施主要以招待所、小宾馆和农家乐等形式存在。然而&#xff0c;一…

企业远控私有化部署解决方案-内信互联

内信互联&#xff08;DoLink&#xff09;&#xff0c;是点量软件新推出的企业私有化远程控制系统解决方案。很多朋友对这个产品还不是很了解&#xff0c;今天点量小编就对其基础功能做一些详细说明&#xff0c;如果您想快速拥有自己的企业私有远程控制系统&#xff0c;欢迎联系…

基于SpringBoot+Vue+MySQL的企业招聘管理系统

系统展示 用户前台界面 管理员后台界面 企业后台界面 系统背景 在当今数字化转型的大潮中&#xff0c;企业对于高效、智能化的人力资源管理系统的需求日益增长。招聘作为人力资源管理的首要环节&#xff0c;其效率与效果直接影响到企业的人才储备与竞争力。传统的招聘方式不仅耗…