ArrayList集合常用方法的解析

1.概述

​ 在前面我们学习了数组,数组可以保存多个元素,但在某些情况下无法确定到底要保存多少个元素,此时数组将不再适用,因为数组的长度不可变。例如,要保存一个学校的学生,由于不停有新生来报道,同时也有学生毕业离开学校,这时学生的数目很难确定。为了保存这些数目不确定的元素,JDK中提供了一系列特殊的类,这些类可以存储任意类型的元素,并且长度可变,统称为集合。在这里,我们先介绍ArrayList集合,其他集合在后续课程中学习。

​ ArrayList集合是程序中最常见的一种集合,它属于引用数据类(类)。在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。

1.1集合的创建

创建集合的常用格式在此说明一下:

导包:import java.util.ArrayList;

创建对象:与其他普通的引用数据类型创建方式完全相同,但是要指定容器中存储的数据类型:

ArrayList<要存储元素的数据类型>变量名 = new ArrayList<要存储元素的数据类型>();

1、集合中存储的元素,只能为<>括号中指定的数据类型元素;

2、“<要存储元素的数据类型>”中的数据类型必须是引用数据类型,不能是基本数据类型;

我们通过举几个例子,来明确集合的创建方式:

  • 存储String类型的元素

    • ArrayList list = new ArrayList();
  • 存储int类型的数据 
    • ArrayList list = new ArrayList();
  • 存储Phone类型的数据 
    • ArrayListlist = new ArrayList();

1.2 集合中常用方法

​ 接下来,我们来学习下ArrayList集合提供的一些常用方法,如下表:

通过代码演示上述方法的使用:ArrayListDemo01.java

package cn.javabs.list.demo;
import java.util.ArrayList;
public class ArrayListDemo01 {public static void main(String[] args) {// 创建ArrayList集合ArrayList<String> list = new ArrayList<String>();// 向集合中添加元素list.add("stu1");list.add("stu2");list.add("stu3");list.add("stu4");// 获取集合中元素的个数System.out.println("集合的长度:" + list.size());// 取出并打印指定位置的元素System.out.println("第1个元素是:" + list.get(0));System.out.println("第2个元素是:" + list.get(1));System.out.println("第3个元素是:" + list.get(2));System.out.println("第4个元素是:" + list.get(3));}
}

代码运行后截图:

1.3 集合中常用方法

通过集合遍历,得到集合中每个元素,这是集合中最常见的操作。集合的遍历与数组的遍历很像,都是通过索引的方式,集合遍历方式如下:ArrayListDemo02.java

 package cn.javabs.list.demo;import java.util.ArrayList;public class ArrayListDemo02 {public static void main(String[] args) {//创建ArrayList集合ArrayList<Integer> list = new ArrayList<Integer>();//添加元素到集合list.add(13);list.add(15);list.add(22);list.add(29);//遍历集合for (int i = 0; i < list.size() ; i++) {//通过索引,获取到集合中每个元素int n = list.get(i) ;System.out.println(n);}}

上述代码中,第5行定义了一个可以存储int元素的集合;第7-10行,实现将int类型数值存储到集合中;

​ 第12-16行,实现遍历集合元素。这里要强调一点,get方法返回值的类型为集合中元素的类型。

1.4 集合中的常用方法补充

ArrayList集合提供的一些常用方法,如下表:

  • boolean add(int index, Object obj)

    • 功能:在集合中指定index位置,添加新元素obj
    • 功能说明:假设集合list中有元素[“java”,“javaEE”],当使用add(1,“javaWeb”)后,集合list中的元素为[“java”,“javaWeb”,“JavaEE”]。
  • Object set(int index, Object obj)

    • 功能:用指定元素obj替代集合中指定index位置的元素
    • 功能说明:假设集合list中有元素[“java”,“javaEE”],当使用set(0,“javaWeb”)后,集合list中的元素为[“javaWeb”,“JavaEE”]。
  • Object remve(int index)

    • 功能:从集合中删除指定index处的元素,返回该元素
    • 功能说明:假设集合list中有元素[“java”,“javaEE”],当使用remove(0)后,集合list中的元素为[“JavaEE”],返回值为“java”。
  • void clear()

    • 功能:清空集合中所有元素
    • 功能说明:假设集合list中有元素[“java”,“javaEE”],当使用clear()后,集合list中的元素为空[ ]。

    作者: 杨校

    出处: https://blog.csdn.net/kese7952

    分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。

    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件(397583050@qq.com)咨询。

杨老师课堂之ArrayList集合常用方法解析相关推荐

  1. 台州杨老师课堂 UI设计培训班

    课程内容 一.图形界面设计基础 1.Photoshop 应用 通过各种不同风格网页整体GUI设计,掌握photoshop相关软件操作基础,熟练使用更重要是学会直接应用软件,通过项目实训直接设计. 2. ...

  2. 杨老师课堂之网页制作HTML的学习入门-含有案例

    网页制作入门 - Html的学习 本篇所授任务 网站信息页面案例 网站图片信息页面案例 网站友情链接页面案例 网站首页案例 网站注册页面案例 网站后台页面案例 教学导航 教学目标 了解什么是标记语言 ...

  3. Java ArrayList集合常用方法

    创建对象:与其他普通的引用数据类型创建方式完全相同,但要指定容器中存储的数据类型: ArrayList<要存储元素的数据类型> 变量名 = new ArrayList<要存储元素的数 ...

  4. 杨老师课堂_Java教程第六篇之引用数据类型_类的运用

    今天主要是讲解以下知识点: 1.自定义类型的定义及使用 2.自定义类的内存图 3.ArrayList集合的基本功能 4.王者荣耀随机迎战案例及库存案例代码优化 01引用数据类型_类 * A: 数据类型 ...

  5. 杨老师课堂之JavaWeb网站技术架构总结

    题记 有很多学生及一线的开发人员经常会问我到底是什么技术架构,是不是就是目前在学校的SSH.SSM技术,为了让更多的同行对架构这个词汇有更深刻的理解,我分享一下自己的个人见解.从编程开发到IT教学也有 ...

  6. 杨老师课堂_Java核心技术下之控制台模拟文件管理器案例

    背景需求介绍: 编写一个模拟文件管理器的程序,实现控制台对文件和文件夹的管理操作. 要求在此程序中: 当用户输入指令 1 时,代表"指定关键字检索文件",此时需要用户输入检索的目录 ...

  7. java模仿微博代码_杨老师课堂_Java核心技术下之控制台模拟微博用户注册案例

    案例设计背景介绍: 编写一个新浪微博用户注册的程序,要求使用HashSet集合实现. 假设当用户输入用户名.密码.确认密码.生日(输入格式yyyy-mm-dd为正确).手机号码(手机长度为11位,并且 ...

  8. 杨老师课堂之JavaScript定时器限时抢购秒杀商品案例

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/kese7952/article/details/80346509 预览效果图: 使用到的知识点: 定 ...

  9. 杨老师课堂之JavaScript定时器_农夫山泉限时秒杀案例

    预览效果图: 使用到的知识点: 定时器 setInterval(函数,毫秒):在指定的毫秒数后调用函数或执行一段代码 取消定时器 clearInterval:取消由setInterval设置的定时器 ...

最新文章

  1. iOS控件之UILabel
  2. Dev-C++ v5.11
  3. 第十八章 20结构体与string
  4. 32 | 答疑(四):阻塞、非阻塞 I/O 与同步、异步 I/O 的区别和联系
  5. python学习笔记(自定义库文件路径)
  6. mysql workbench 6.2.3 linux_MySQL Workbench 6.2.1 BETA 发布
  7. 美团AI全景图:吃喝玩乐背后的黑科技
  8. hmcl手机版_hmcl启动器
  9. 菜鸟学习笔记:Java提升篇9(网络1——网络基础、Java网络编程)
  10. python删除列表内容_python删除列表内容
  11. oracle srvctl命令,关闭RAC、srvctl命令
  12. julia Pkg.add() 安装package时卡着不动慢怎么办
  13. python爬虫模拟浏览器的两种方法_python3爬虫的模拟浏览器
  14. 家用电脑搭建外网服务器
  15. html js设置颜色渐变效果,Javascript 颜色渐变效果的实现代码
  16. Chrome浏览器各版本对应的驱动
  17. 黑窗口方式,使用命令行导入导出Oracle
  18. 面试java工程师的自我介绍
  19. 使用C语言完成舞伴问题(数据结构)
  20. docker是干什么的,docker常用命令每日一练

热门文章

  1. Vue 作者尤雨溪:以匠人的态度不断打磨完善 Vue
  2. Hibernate入门案例及增删改查
  3. 你可能不知道的字符比较中的“秘密”
  4. 怎么才能成为一名PHP专家?
  5. Little endian和Big endian的区别
  6. Asp.net夜话之一:asp.net介绍
  7. 没想到裴勇俊留了一头长发。
  8. 去掉快捷方式图标上的箭头
  9. 「每天一道面试题」谈String和StringBuffer、StringBuilder区别
  10. Jenkins进阶系列之——08Jenkins纳入版本控制