ArrayList集合和数组的区别

集合和数组的区别 :

共同点:都是存储数据的容器

不同点:数组的容量固定的,集合的容量可变

 

 

ArrayList的构造方法和添加方法:

public ArrayList()创建一个空的集合对象
public boolean add(E e)将指定的元素追加到此集合的末尾
public void add(int index,E element)在此集合中的指定位置插入指定的元素

ArrayList<E> :调整大小的数组实现   <E> : 是一种特殊的数据类型泛型

怎么用呢 ? 在出现E的地方我们使用引用数据类型替换即可  

            举例:ArrayList<String>, ArrayList<Student>

ArrayList类常用方法【应用】:

成员方法 :

public boolean remove(Object o)删除指定的元素,返回删除是否成功
public E remove(int index)删除指定索引处的元素,返回被删除的元素
public E set(int index,E element)修改指定索引处的元素,返回被修改的元素
public E get(int index)返回指定索引处的元素
public int size()返回集合中的元素个数

ArrayList存储[字符串]并遍历:

 

案例需求 :

创建一个存储字符串的集合,存储3个字符串元素,使用程序实现在控制台遍历该集合

实现步骤 :

1:创建集合对象

2:往集合中添加字符串对象

3:遍历集合,首先要能够获取到集合中的每一个元素,这个通过get(int index)方法实现

4:遍历集合,其次要能够获取到集合的长度,这个通过size()方法实现

5:遍历集合的通用格式

ArrayList存储[学生对象]并遍历

案例需求 :

创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合

实现步骤 :

1:定义学生类

2:创建集合对象

3:创建学生对象

4:添加学生对象到集合中

5:遍历集合,采用通用遍历格式实现

键盘录入学生信息到集合:

案例需求 :

创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合

学生的姓名和年龄来自于键盘录入

实现步骤 :

1:定义学生类,为了键盘录入数据方便,把学生类中的成员变量都定义为String类型

2:创建集合对象

3:键盘录入学生对象所需要的数据

4:创建学生对象,把键盘录入的数据赋值给学生对象的成员变量

5:往集合中添加学生对象

6:遍历集合,采用通用遍历格式实现

 

  

学生管理系统:

2.1 学生管理系统实现步骤

  • 案例需求

    针对目前我们的所学内容,完成一个综合案例:学生管理系统!该系统主要功能如下:

    添加学生:通过键盘录入学生信息,添加到集合中

    删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除

  • 修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改

    查看学生:将集合中的学生对象信息进行展示

    退出系统:结束程序

  • 实现步骤

    1. 定义学生类,包含以下成员变量

      学生类: Student成员变量:

      学号:sid

      姓名:name

      年龄:age

      生日:birthday

      构造方法:

      无参构造

      带四个参数的构造成员方法:

      每个成员变量对应给出get/set方法

    2. 学生管理系统主界面的搭建步骤

      2.1 用输出语句完成主界面的编写

      2.2 用Scanner实现键盘录入数据

      2.3 用switch语句完成操作的选择

      2.4 用循环完成再次回到主界面

    3. 学生管理系统的添加学生功能实现步骤

      3.1 用键盘录入选择添加学生

      3.2 定义一个方法,用于添加学生

      显示提示信息,提示要输入何种信息

      键盘录入学生对象所需要的数据

      创建学生对象,把键盘录入的数据赋值给学生对象的成员变量

      将学生对象添加到集合中(保存)

      给出添加成功提示

      3.3 调用方法

    4. 学生管理系统的查看学生功能实现步骤

      4.1 用键盘录入选择查看所有学生信息

      4.2 定义一个方法,用于查看学生信息

      显示表头信息

      将集合中数据取出按照对应格式显示学生信息,年龄显示补充“岁”

      4.3 调用方法

    5. 学生管理系统的删除学生功能实现步骤

      5.1 用键盘录入选择删除学生信息

      5.2 定义一个方法,用于删除学生信息

      显示提示信息

      键盘录入要删除的学生学号

      调用getIndex方法,查找该学号在集合的索引

      如果索引为-1,提示信息不存在

      如果索引不是-1,调用remove方法删除并提示删除成功

      5.3 调用方法

    6. 学生管理系统的修改学生功能实现步骤

      6.1 用键盘录入选择修改学生信息

      6.2 定义一个方法,用于修改学生信息

      显示提示信息

      键盘录入要修改的学生学号

      调用getIndex方法,查找该学号在集合的索引

      如果索引为-1,提示信息不存在

      如果索引不是-1,键盘录入要修改的学生信息

      集合修改对应的学生信息

      给出修改成功提示

      6.3 调用方法

    7. 退出系统

      使用System.exit(0);退出JVM

 

程序员~小鱼儿
关注 关注
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
集合 ArrayList的增删改查
qq_42609077的博客
05-25 1620
集合:存储元素的容器,并且为我们提供规范化的管理 数组:String[] int[] short[] Object[]; 为什么拥有了数组,还使用集合? 因为集合对容器进行了很多规范化的管理: 1. 运用数组: a. int[] arr=new int[10],当用到第十一个元素时,则会越界,不得不扩容,无论new多大的数组,总有不够用的时候,则需要循环性的扩容 b.get...
Android中ArrayList数组相互转换
09-01
在我们日常开发中难免会要将ArrayList数组相互转换,那么如何才能相互转换呢?下面跟着小编一起通过这篇文章学习学习。
Java 浅谈数组(Array)和列表(ArrayList)的区别 介绍Arrays常用方法
热门推荐
senxu_的博客
08-11 1万+
Java 浅谈数组(Array)和列表(ArrayList)的区别 介绍Arrays常用方法
Arraylist增删改查的方法
最新发布
m0_57292143的博客
11-20 323
Arraylist提供了remove()方法来删除指定位置的元素,也可以通过remove(Object o)方法来删除指定的元素。在Arraylist中,我们可以使用add()方法来向数组中添加新的元素。Arraylist提供了get()方法来获取指定位置的元素,还可以使用indexOf()方法来查找指定元素在Arraylist中的位置。总的来说,Arraylist提供了丰富的方法来进行增删改查操作,可以满足我们在实际开发中对数据结构的需求。这样,我们可以方便地对Arraylist中的元素进行修改操作。
Java集合- ArrayList的创建、添加、修改、查询和删除
qq_23935145的博客
11-29 3348
Java集合的特点以及ArrayList的创建、添加、修改、查询和删除
Python自学第七天——集合
Wei730050的博客
03-29 562
作为新手自学Python的第七天,技术低微,希望可以通过这种方式督促自己学习。 个人学习环境:python3.9,PyCharm 2021.3.2 (Community Edition) ——————————————————————————————————————————— 集合是Python语言提供的内置数据结构,与列表、字典一样都是可变类型的序列 集合是没有value的字典 1、集合的创建 第一种:使用'{ }' sites = {'Google', 'Taobao', 'Runoob'
2023年Java集合知识测试B.doc
11-06
本资源摘要信息涵盖了Java集合知识的多个方面,包括集合数组区别、Collection接口的方法、ArrayList和LinkedList的特点、队列的特点、泛型的使用等。 1. 集合数组区别 集合数组Java中两种常用的数据...
Java集合面试题 52道
04-20
3. 集合数组区别 数组是固定长度的,而集合是可变长度的。数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。数组存储的元素必须是同一个数据类型,而集合存储的对象可以是不同...
Java集合总结.txt
06-03
集合数组区别: 1.集合是大小可变的序列,数组在声明后,长度不可变 2.数组只能存放声明时指定的一种数据类型,集合可变存放多种数据类型 3.数组可以存放基本数据类型,集合只能存放对象 ps:要想往集合中...
集合(链表和数组区别数组和链表.pdf
04-18
链表和数组是两种基本的数据结构,它们都是集合的实现方式,但是它们在存储和访问方式上有很大的不同。在本文中,我们将详细介绍链表和数组区别,并讨论何时使用数组、何时使用链表。 1. 内存分配方式 数组静态...
ArrayList<>集合实现基础增删改查
xunxunqq的博客
06-09 1506
1.首先先写一个Student(学生类), 成员变量 String sid,name,age,address(学生xuehao)
数组集合区别 尤其是ArrayList
chiwu0165的博客
06-15 1370
ArrayList就是基于数组创建的 容器类 . 一、数组声明了它容纳的元素的类型,而集合不声明。 二、数组是静态的,一个数组实例具有固定的大小,一旦创建了就无法改变容量了。而集合是可以动态扩展容量,可以根据需要动态改变大小,集合...
Java集合 增删改
qq_68384595的博客
10-03 1918
Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。
集合中增删改查学生信息
a13696892525的博客
08-01 383
题目要求; 1.新建学生类Student 学号 int 姓名 String 生日 java.util.Date 重写equals方法 学号相等即认为两个学生相同 重写toString方法 返回学号,姓名和生日(生日的格式是yyyy-MM...
Java ArrayList集合的基本操作
阿博的博客
06-10 601
1.概述 2.集合特点 3.arrayList是啥 4.如何使用arrayList 5.arrayList构造方法和添加方法 6.ArrayList集合的常用方法 7.ArrayList存储字符串并遍历(案例),本文中只出现第一个
7-5 jmu-Java-06异常-02-使用异常机制处理异常输入 (20分)
雪岩的博客
12-14 1968
7-5 jmu-Java-06异常-02-使用异常机制处理异常输入 (20分) 使用异常处理输入机制,让程序变得更健壮。 ###main方法: 输入n,创建大小为n的int数组。 输入n个整数,放入数组。输入时,有可能输入的是非整型字符串,这时候需要输出异常信息,然后重新输入。 使用Arrays.toString输出数组中的内容。 输入样例: 5 1 2 a b 4 5 3 输出样例: java.lang.NumberFormatException: For input string: "a" java.
数组ArrayList
Liu_G的博客
08-25 597
数组ArrayList 数组 数组的介绍 数组是有限个相同类型的元素组成的顺序存储的集合,它在内存中的地址是连续的,在使用前需要先声明其容量大小,在C#中可以用Array来声明一个数组数组的特点 由于数组在内存中的地址是连续的,因此在访问时可以直接通过其地址进行访问,当要访问该数组中索引为Index的数组值时,可以直接通过访问数组首地址+Index*元素数据长度的地址获取到该值,因此数组在进行访问和写入操作的时候是非常快的,其时间复杂度是O(1)。 因此,在确定其元素数量,或者需要进行
ArrayList数组的优缺点比较
马一凡的博客
11-05 4510
ArrayList通俗来说就是一个动态的数组,它可以动态地增加和减少元素,实现了ICollection和IList接口。相比数组,有很大的优势。我们先来看一下数组的定义及使用,再看看ArrayList,观察一下它们的优缺点。 private Shape[] arrayshape = new Shape[250]; public void setShape(int x1, int y1...
集合数组 ArrayList 和linkedlist区别
05-17
集合数组是两种不同的数据结构,而 ArrayList 和 LinkedList 是 Java 集合框架中的两种不同类型的 List 实现。 ArrayList 是使用数组实现的 List,它允许你在列表的任何位置进行快速随机访问和修改元素。ArrayList 适用于需要频繁访问和修改列表元素的场景。但是,如果需要在列表的开头或中间插入或删除元素,则需要移动其他元素,这可能会导致性能下降。 LinkedList 是使用链表实现的 List,它允许你在列表的开头或结尾进行快速插入或删除元素。LinkedList 适用于需要频繁插入或删除元素的场景。但是,访问和修改元素需要遍历整个链表,因此在需要随机访问元素时性能较差。 因此,当需要频繁访问和修改元素时,使用 ArrayList 更好;当需要频繁插入或删除元素时,使用 LinkedList 更好。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
81
原创
36
点赞
124
收藏
18
粉丝
关注
私信
写文章

热门文章

  • 出现Error: could not open `D:\java_jdk\jre1.8\lib\amd64\jvm.cfg问题解决 4662
  • for循环,控制台输出所有的“水仙花数”水仙花数是一个三位数 水仙花数的个位、十位、百位的数字立方和等于原数 2833
  • SpringCloud 远程调用Feign、网关Gateway、配置中心Nacos、微服务架构小结、Nacos搭建集群 2438
  • 随机自动生成1-100之间的数字,使用程序猜出这个数字是多少? 2289
  • 网络编程网络通信的介绍,UDP通信程序,TCP通信程序 1475

最新评论

  • HttpClient入门介绍

    눈_눈131: 跟黑马课里的的好像 表情包表情包

  • RabbitMQ入门 安装 SpringAMQP简单队列、工作队列、发布订阅(扇出模式,广播模式)、Direct模式(Roting模式)、Topic模式

    蜗牛+火箭: 非常不错

  • 出现Error: could not open `D:\java_jdk\jre1.8\lib\amd64\jvm.cfg问题解决

    2301_76708104: 你好!请问一下你这个问题解决了吗,我好像也碰到跟你一样的问题了,现在还没弄明白TT,如果你解决了的话我想向你请教一下可以吗?非常感谢!

  • 出现Error: could not open `D:\java_jdk\jre1.8\lib\amd64\jvm.cfg问题解决

    2301_79036577: 也没有Oracle

  • 出现Error: could not open `D:\java_jdk\jre1.8\lib\amd64\jvm.cfg问题解决

    2301_79036577: Error: could not open `D:\jre8\lib\amd64\jvm.cfg' 你好我运行报的是这个错误怎么解决啊😭

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 01、Java算法数组【704. 二分查找,27. 移除元素】
  • JDK1.8 lambda_函数式编程_stream流
  • 分布式事务问题、CAP定理和BASE理论,seata入门与整合(nacos),seata的事务模式(XA模式、AT模式[重点]、TCC模式、SAGA模式、四种模式对比)、seata高可用【扩展】
2023年32篇
2022年49篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司沈阳关键词排名公司吉祥模板网站建设价格三亚seo排名报价台州外贸网站制作价格赤峰英文网站建设推荐定西网站定制推荐重庆百度标王哪家好遵义企业网站改版推荐许昌百度网站优化排名多少钱珠海模板制作价格景德镇企业网站建设报价邵阳如何制作网站哪家好无锡网站推广系统哪家好昭通网站优化按天计费哪家好百色关键词按天计费价格黔南阿里店铺托管公司北京设计网站哪家好衡水网站推广方案哪家好日照百姓网标王推广哪家好龙岩网站排名优化哪家好黄冈百度爱采购价格济南百搜标王石岩网络营销公司阳泉网站优化推广价格巢湖关键词按天计费哪家好承德网站优化推广公司木棉湾企业网站改版哪家好新乡百姓网标王推广聊城网站推广哪家好日照网站推广系统推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化