ArrayList的使用

ArrayList类:可变化长度的数组。

与一般的数组不同的是,其长度不固定,可以添加任意类型的数据。

也可以添加不同类型的数据,但是一般不这么做。


ArrayList类位于java.util.ArrayList下,使用前需引用。

import java.util.ArrayList

初始化方法:

ArrayList al = new ArrayList();//容器

添加单个数据:

1-添加在ArrayList数组的最后:

al.add("remoo");

2-在指定索引处添加:

al.add(0,"jack");

ArrayList还支持添加一整个ArrayList数组:

al.addAll(al2);

获取ArrayList数组:

i为数组索引。

al.get(i)

需要注意的点:

读取int等数值类型进行数学运算的时候,我们必须需要进行强制类型转换。

以下两种操作是错误的:

ArrayList ck = new ArrayList();
ck.add(11);
ck.add(123);
ck.add(442);
int result1 =0;
for (Object ob : ck)
result1+=ob; System.out.println("result:" + result1);
System.out.println(ck.get(0)+ck.get(1));

我们需要对ob进行强制类型转换。

在for循环语句中的代码修改为:

result1+=(int)ob;

移除数据有两种方法,通过索引移除或者通过内容移除。

al.remove(1);
al.remove("jack");

如果内容有重复,则会只移除索引值较小的那一个成员。


判断是否为空的ArrayList

al.isEmpty();

返回boolean。


判断是否包含某内容

al.contains("remoo");

迭代器Iterator的使用

作用:可以简单理解为遍历数组之用

优点:非常方便

缺点:一次性

初始化:需要指定对哪一个ArrayList所创建的遍历器。

Iterator iterator = al.iterator();

里边有next(),hasNext()等常用方法。

while(iterator.hasNext()){
System.out.println(iterator.next());
}

以上方法即可轻轻松松遍历所有的内容。


Vector类和ArrayList类的异同:

使用上是一模一样的。

Vector是线程安全的,但是ArrayList更高效适合用于单线程的程序当中。


ArrayList类和LinkedList类的异同:

后者适合频繁插入或删除数据,一般用于需求大量添改数据的业务。

后者有两种新的方法:

lks.addFirst(1);
lks.addLast(999);

【java】学习路径25-ArrayList类,Vector类,LinkedList类的使用和区别,Iterator迭代器的使用的更多相关文章

  1. Java中List,ArrayList、Vector,map,HashTable,HashMap区别用法

    Java中List,ArrayList.Vector,map,HashTable,HashMap区别用法 标签: vectorhashmaplistjavaiteratorinteger ArrayL ...

  2. ArrayList、Vector、LinkedList的区别联系?

    1.ArrayList.Vector.LinkedList类都是java.util包中,均为可伸缩数组. 2.ArrayList和Vector底层都是数组实现的,所以,索引数据快,删除.插入数据慢. ...

  3. ArrayList、Vector、LinkedList的特点和区别

    ArrayList.Vector.LinkedList类均在java.util包中,均为可伸缩数组. 1)ArrayList和Vector都是基于存储元素的Object[] array来实现的,它们会 ...

  4. ArrayList、Vector和LinkedList的区别

    ArrayList.Vector和LinkedList类均在java.util包下,均为可伸缩数组,即可以动态改变长度的数组 ArrayList和Vector都是基于存储元素的Object[] arr ...

  5. ArrayList 、Vector 和 LinkedList 有什么区别?

    ArrayList.Vector .LinkedList 类均在java.util 包中,均为可伸缩数组,即可以动态改变长度的数组. ArrayList 和 Vector 都是基于存储元素的 Obje ...

  6. List接口实现类-ArrayList、Vector、LinkedList集合深入学习以及源代码解析

    学习List接口实现类 ArrayList  Vector  LinkedList List接口的实现类中最经常使用最重要的就是这三个:ArrayList.Vector.LinkedList. JDK ...

  7. Java ArrayList、Vector和LinkedList等的差别与用法(转)

    Java ArrayList.Vector和LinkedList等的差别与用法(转) ArrayList 和Vector是采取数组体式格式存储数据,此数组元素数大于实际存储的数据以便增长和插入元素,都 ...

  8. Java学习路径及练手项目合集

    Java 在编程语言排行榜中一直位列前排,可知 Java 语言的受欢迎程度了. 实验楼上的[Java 学习路径]中将首先完成 Java基础.JDK.JDBC.正则表达式等基础实验,然后进阶到 J2SE ...

  9. Java容器类List、ArrayList、Vector及map、HashTable、HashMap的区别与用法

    Java容器类List.ArrayList.Vector及map.HashTable.HashMap的区别与用法 ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数 ...

  10. Java集合(2)——深入理解ArrayList、Vector和LinkedList

    回顾 Java集合主要分为两个体系结构,Collection和Map.这篇博客主要介绍Collection子接口List下的三个经常使用的实现类:ArrayList.Vector和LinkedList ...

随机推荐

  1. AcWing-1022

    题解借鉴两位大佬的解析 墨染空 && 野生铅笔 本题是一道 01背包 的扩展题 -- 二维费用01背包问题 把 野生宝可梦 看做物品,则捕捉他需要的 精灵球 个数就是第一费用,战斗皮神 ...

  2. 【Redis】字典

    Redis 字典 基本语法 字典是Redis中的一种数据结构,底层使用哈希表实现,一个哈希表中可以存储多个键值对,它的语法如下,其中KEY为键,field和value为值(也是一个键值对): HSET ...

  3. Python调用腾讯云API,实现人脸年龄变化

    网上看到了一个教程,调用腾讯云的人脸识别api和修改年龄api来实现模拟人物不同年龄的面貌 但是大多数教程的代码都是想同的,估计是抄袭哪个人的关键是执行不了 刚好周杰伦马上要发新专辑了,小改一下,拿杰 ...

  4. 关于Vue 移动端适配 (px2rem 插件将px转为rem)

    一.安装 npm install px2rem-loader lib-flexible --save 二.入口文件main.js加上 import 'lib-flexible/flexible.js' ...

  5. Java多线程下载分析

    为什么要多线程下载 俗话说要以终为始,那么我们首先要明确多线程下载的目标是什么,不外乎是为了更快的下载文件.那么问题来了,多线程下载文件相比于单线程是不是更快? 对于这个问题可以看下图. 横坐标是线程 ...

  6. Spring Data JPA系列5:让IDEA自动帮你写JPA实体定义代码

    大家好,又见面了. 这是本系列的最后一篇文档啦,先来回顾下前面4篇: 在第1篇<Spring Data JPA系列1:JDBC.ORM.JPA.Spring Data JPA,傻傻分不清楚?给你 ...

  7. python小题目练习(五)

    题目:Python实现快速排序 代码实现: """Author:mllContent:Python实现快速排序Date:2020-11-05""&qu ...

  8. CentOS yum命令404

    1.获得新的repo列表文件 http://mirrors.163.com/.help/centos.html 2.备份 mv /etc/yum.repos.d/CentOS-Base.repo Ce ...

  9. NC16663 [NOIP2004]合并果子

    NC16663 [NOIP2004]合并果子 题目 题目描述 ​ 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. ​ 每一次合并,多多可 ...

  10. halcon变量窗口的图像变量不显示,重启软件和电脑都没用

    有幸遇到halcon变量窗口的图像变量不显示,重启软件和电脑都没用这个沙雕问题,也是找了蛮久才发现解决办法特意记录一下. 这是正常情况下的窗口(左边)和图像变量不显示的窗口(右边): 解决方法: 鼠标 ...