在arraylist中使用java

Java中的标准数组的元素数量是固定的。如果要增加或减少数组中的元素,则必须从原始数组的内容中创建一个元素数正确的新数组。另一种方法是使用ArrayList类。ArrayList类提供了创建动态数组的方法(即,它们的长度可以增加或减少)。...

Java中的标准数组的元素数量是固定的。如果要增加或减少数组中的元素,则必须从原始数组的内容中创建一个元素数正确的新数组。另一种方法是使用ArrayList类。ArrayList类提供了创建动态数组的方法(即,它们的长度可以增加或减少)。

Male office worker with laptop

进口声明

import java.util.ArrayList;

创建一个arraylist

可以使用简单构造函数创建ArrayList:

ArrayList dynamicArray = new ArrayList();

这将创建一个初始容量为10个元素的ArrayList。如果需要较大(或较小)的ArrayList,则可以将初始容量传递给构造函数。为20个元素留出空间:

ArrayList dynamicArray = new ArrayList(20);

填充arraylist

使用add方法将值附加到ArrayList:

dynamicArray.add(10); dynamicArray.add(12); dynamicArray.add(20);

注意:ArrayList仅存储对象,因此,尽管上面的几行似乎向ArrayList添加了int值,但在将int值附加到ArrayList时,它们会自动更改为整数对象。

通过使用Arrays.asList方法将标准数组转换为列表集合,并使用addAll方法将其添加到ArrayList,可以使用标准数组填充ArrayList:

String[] names = {"Bob", "George", "Henry", "Declan", "Peter", "Steven"}; ArrayList dynamicStringArray = new ArrayList(20); dynamicStringArray.addAll(Arrays.asList(names));

关于ArrayList需要注意的一点是,元素不必是相同的对象类型。即使dynamicStringArray已由字符串对象填充,它仍然可以接受数值:

dynamicStringArray.add(456);

为了最大限度地减少出错的可能性,最好指定希望ArrayList包含的对象类型。这可以通过使用泛型在创建阶段完成:

ArrayList dynamicStringArray = new ArrayList(20);

现在,如果我们试图添加一个不是字符串的对象,就会产生编译时错误。

在arraylist中显示项目

要在ArrayList中显示项目,可以使用toString方法:

System.out.println("Contents of the dynamicStringArray: " + dynamicStringArray.toString());

其结果是:

Contents of the dynamicStringArray: [Bob, George, Henry, Declan, Peter, Steven]

将项目插入arraylist

通过使用add方法并传递插入位置,可以将对象插入元素的ArrayList索引的任何位置。要将字符串“Max”添加到位置3处的dynamicStringArray,请执行以下操作:

dynamicStringArray.add(3, "Max");

这将导致(不要忘记ArrayList的索引从0开始):

[Bob, George, Henry, Max, Declan, Peter, Steven]

从arraylist中删除项

remove方法可用于从ArrayList中删除元素。这可以通过两种方式实现。第一个是提供要删除的元素的索引位置:

dynamicStringArray.remove(2);

位置2中的字符串“Henry”已被删除:

[Bob, George, Max, Declan, Peter, Steven]

第二个是提供要移除的对象。这将删除对象的第一个实例。要从dynamicStringArray中删除“Max”,请执行以下操作:

dynamicStringArray.remove("Max");

字符串“Max”不再在ArrayList中:

[Bob, George, Declan, Peter, Steven]

替换arraylist中的项

可以使用set方法一次性替换元素,而不是删除元素并在其位置插入新元素。只需传递要替换的元素和要替换的对象的索引。将“彼得”替换为“保罗”:

dynamicStringArray.set(3,"Paul");

其结果是:

[Bob, George, Declan, Paul, Steven]

其他有用的方法

有许多有用的方法可以帮助导航arraylist的内容:

  • 可以使用size方法找到ArrayList中包含的元素数:System.out.println(“ArrayList中现在有“+dynamicStringArray.size()+”元素”);在对dynamicStringArray进行了所有操作之后,我们只剩下5个元素:ArrayList中现在有5个元素
  • 使用indexOf方法查找特定元素的索引位置:System.out.println(“George的索引位置为:”+dynamicStringArray.indexOf(“George”));字符串“George”位于索引位置1:George的索引位置为:1
  • 要清除ArrayList中的所有元素,请使用clear方法:dynamicStringArray.clear();
  • 有时,查看ArrayList是否包含任何元素会很有用。使用isEmpty方法:System.out.println(“dynamicStringArray是否为空?”+dynamicStringArray.isEmpty());上面哪个清除方法调用后现在为真:dynamicStringArray是空的吗?符合事实的

  • 发表于 2021-10-11 11:57
  • 阅读 ( 156 )
  • 分类:编程

你可能感兴趣的文章

包装类(wrapper class)和java中的基元类型(primitive type in java)的区别

...象自动转换为其相应的原语类型的过程称为取消装箱。像ArrayLists这样的集合使用包装类,因为它们存储对象。 什么是java中的基元类型(primitive type in java)? 原始数据类型是Java编程语言提供的预定义数据类型。有八种基本类型。...

  • 发布于 2020-10-19 06:27
  • 阅读 ( 736 )

列表(list)和设置(set)的区别

...元素2,那么元素1将位于元素2之前。 图01:列表和设置 ArrayList,LinkedList,Vector是一些实现List的类。在ArrayList中,访问元素的速度很快,但**和删除速度较低。ArrayList不是线程安全的。从多个线程访问同一个ArrayList可能不会得到...

  • 发布于 2020-10-19 09:09
  • 阅读 ( 204 )

数组表(arraylist)和双链表(linkedlist)的区别

关键区别–arraylist与linkedlist 集合对于存储数据很有用。在普通数组中,数组大小是固定的。有时需要创建可以根据需要增长的阵列。Java等编程语言有集合。它是一个包含一组类和接口的框架。它充当一组元素的容器。集合...

  • 发布于 2020-10-19 11:43
  • 阅读 ( 229 )

初学者必备的8个eclipse键盘快捷键

... public class Hello { public static void main(String[] args) { ArrayList list = new ArrayList(); }} ...

  • 发布于 2021-03-11 23:36
  • 阅读 ( 334 )

入门时应学习的10个核心java概念

... 实现这个接口的类必须实现所有这些方法。ArrayList类使用阵列支持的存储系统实现此接口。可宣布如下: ...

  • 发布于 2021-03-13 05:33
  • 阅读 ( 244 )

java异常:您处理的对吗?

...main" java.lang.IndexOutOfBoundsException: Index: 8, Size: 5 at java.util.ArrayList.rangeCheck(ArrayList.java:653) at java.util.ArrayList.get(ArrayList.java:429) at sample.sample1.main(sample1.java:24) ...

  • 发布于 2021-03-13 09:11
  • 阅读 ( 256 )

如何使用java arraylist

JavaArrayList是一个通用的可调整大小的数组。它提供了其他语言中数组通常需要的大部分功能。这些操作包括:使用索引访问元素、添加、删除和更新元素、动态重新调整大小、对元素进行迭代等。这些操作中的大多数都经过了...

  • 发布于 2021-03-13 20:41
  • 阅读 ( 204 )

数组表(arraylist)和矢量(vector)的区别

ArrayList与Vector 向量实现的数组可以在运行时在添加或删除某些元素时进行增长/收缩。使用整数索引访问其元素。两个字段–容量和容量增量,是矢量存储管理的特征。它实现了四个接口:*列表*随机访问*可克隆*可串行化接口 ...

  • 发布于 2021-06-23 18:41
  • 阅读 ( 236 )

列表(list)和数组表(arraylist)的区别

...是他们,有什么区别(they, and what’s the difference)? List和ArrayList是Java和C语言中的一些代码,允许您设置和调用参数。在坚果壳里。困惑的?我也是。下一段时间你需要一些知识。 通常,List是一个用于ArrayList或LinkedList的接口。列...

  • 发布于 2021-06-24 03:08
  • 阅读 ( 215 )

散列表(hashmap)和哈希表(hashtable)的区别

...的Java时代就已经出现了。就像Vector是更现代、更高级的ArrayList的同步对应物一样,Hashtable也是HashMap的同步对应物。但是,类不能同步,所以当我们说Hashtable是一个同步映射时,意味着类的关键方法是同步的。 虽然两者实际上是...

  • 发布于 2021-06-25 20:14
  • 阅读 ( 247 )
P2699348
P2699348

0 篇文章

相关推荐