杨老师课堂之ArrayList集合常用方法解析
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)); } }
通过集合遍历,得到集合中每个元素,这是集合中最常见的操作。集合的遍历与数组的遍历很像,都是通过索引的方式,集合遍历方式如下: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)咨询。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
杨老师课堂之ArrayList集合解析
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kese7952/article/details/80542813 ArrayList集合常用方法的解析 ArrayList集合常用方法的解析 1.概述 1.1集合的创建 1.2 集合中常用方法 1.3 集合中常用方法 1.4 集合中的常用方法补充 1.概述 在前面我们学习了数组,数组可以保存多个元素,但在某些情况下无法确定到底要保存多少个元素,此时数组将不再适用,因为数组的长度不可变。例如,要保存一个学校的学生,由于不停有新生来报道,同时也有学生毕业离开学校,这时学生的数目很难确定。为了保存这些数目不确定的元素,JDK中提供了一系列特殊的类,这些类可以存储任意类型的元素,并且长度可变,统称为集合。在这里,我们先介绍ArrayList集合,其他集合在后续课程中学习。 ArrayList集合是程序中最常见的一种集合,它属于引用数据类(类)。在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可...
- 下一篇
谈谈对前端安全的理解
前端安全问题主要有XSS、CSRF攻击 XSS:跨站脚本攻击 它允许用户将恶意代码植入到提供给其他用户使用的页面中,可以简单的理解为一种javascript代码注入。 XSS的防御措施: 1.过滤转义输入输出 2.避免使用eval、new Function等执行字符串的方法,除非确定字符串和用户输入无关 3.使用cookie的httpOnly属性,加上了这个属性的cookie字段,js是无法进行读写的 4.使用innerHTML、document.write的时候,如果数据是用户输入的,那么需要对象关键字符进行过滤与转义 CSRF:跨站请求伪造 其实就是网站中的一些提交行为,被黑客利用,在你访问黑客的网站的时候进行操作,会被操作到其他网站上; CSRF防御措施: 1.检测http referer是否是同域名 2.避免登录的session长时间存储在客户端中 3.关键请求使用验证码或者token机制 其他的一些攻击方法还有HTTP劫持、界面操作劫持
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7设置SWAP分区,小内存服务器的救世主