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. ESP8266 系统环境搭建

    1. 前言 因为ESP8266/ESP32这个开发环境没少折腾,是真没见过这么难搞又不清晰的环境. 简单开发可以使用Arduino IDE ,这个平台还是挺好的.开发使用Arduino的函数库,很高效 ...

  2. Node.js精进(1)——模块化

    模块化是一种将软件功能抽离成独立.可交互的软件设计技术,能促进大型应用程序和系统的构建. Node.js内置了两种模块系统,分别是默认的CommonJS模块和浏览器所支持的ECMAScript模块. ...

  3. vue大型电商项目尚品汇(后台篇)day04

    昨天太晚就没来得及更新,今天是spu管理界面,这个界面一共有三个界面需要切换,完成了两个界面,而且今天的难度在于最后两个章节,富有一定的逻辑性,当然中间也有很多需要注意的,比如ElementUI的照片 ...

  4. BUUCTF-被偷走的文件

    被偷走的文件 这题刚开始还以为是单纯的流量题,看流量半天也没发现什么异常. 因为是文件传输过程的,所以我们看到ftp的流量就过滤下看看即可. 在第三个包发现flag.rar存在. 一开始我觉得没啥,后 ...

  5. salt stack安装与使用

    SaltStack除了传统的C/S架构外,其实还有Masterless架构,如果采用Masterless架构,我不需要单独安装一台SaltStack Master机器,只需要在每台机器上安装Minio ...

  6. python小题目练习(一)

    题目:输出1+2+3+4+5+--+100的总数,并打印出这行式子 代码展示:# 1.定义一个初识变量total,用于后面每次循环进行累加值 total = 0# 2.利用for循环遍历累加for i ...

  7. 在linux上配置Maven环境变量

    1.首先下载maven ,这里我使用的是3.8.1 Maven – Download Apache Maven 2.在linux环境中,将maven上传至 /usr/local/目录中 这里我将mav ...

  8. # Vue3 setup 函数

    Vue3 setup 函数 vue2 和 vue3 开发的区别 首先,目前来说 vue3 发布已经有一段时间了,但是呢,由于还处于优化完善阶段,对于 vue3 开发项目的需求不是很高,主要还是以 vu ...

  9. 隐私计算FATE-多分类神经网络算法测试

    一.说明 本文分享基于 Fate 使用 横向联邦 神经网络算法 对 多分类 的数据进行 模型训练,并使用该模型对数据进行 多分类预测. 二分类算法:是指待预测的 label 标签的取值只有两种:直白来 ...

  10. JTable和MVC设计模式

    JTable: 用JTable类可以以表格的形式显示和编辑数据 . JTable类的对象并不存储数据,它只是数据的表现 data MVC ~数据,表现和控制三者分离,各负其责 ~M=Model(模型) ...