List 是一个有序集合,该接口的用户可以控制每个元素在列表中的插入位置。它提供了各种方法来添加、删除和查找列表中的特定值。
不应将 List 与 ArrayList 混淆。第一个是Collection的子接口,第二个是实现List接口的类。
所以我们可以实现List的思想,要使用ArrayList,需要将其导入程序中。
//import the list to make it available import java.util.ArrayList ; public class Program { public class void main ( String [] args ) { //main program } }
由于存储在给定列表中的所有变量都属于同一类型,因此我们必须在要存储的值的类型中定义类型。
ArrayList < Type > nameOfTheList = new ArrayList <>();
在实际代码中,创建一个用于存储Strings的列表的示例。
//import the list to make it available import java.util.ArrayList ; public class Program { public class void main ( String [] args ) { //create a String list ArrayList < String > list = new ArrayList <>(); } }
基本上,第一部分ArrayList<String
是 ArrayList 的类型,创建命令是new ArrayList<>()
。
List 可以包含的值的类型
在 Java 中,我们有两类变量。第一个是原始数据类型,它们是像int
或double
这样的值,它们实际上保存了它们的值。第二个是引用数据类型,如ArrayList
,其中包含对内存中与此变量相关的值的位置的引用。
这就是为什么我们需要将ArrayList
的类型声明为大写。我们创建新列表的那一刻,如下所示。
ArrayList < Integer > list = new ArrayList <>(); list . add ( 42 );
ArrayList < Double > list = new ArrayList <>(); list . add ( 4.20 );
ArrayList < Boolean > list = new ArrayList <>(); list . add ( true );
ArrayList
假定其中的所有变量都是引用类型。 Java 自动将int
变量转换为Integer
。很神奇,对吧?
因此,创建ArrayList
非常简单。首先我们定义Type
,然后我们使用new
命令指定 create 。
界面
列表接口是从零开始的。这意味着我们从 0 开始计算。所以元素的第一个位置,不是数字 1,而是零数字。并且根据实际知识,我们可以很容易地进行操作,使用方法并通过它们的索引(位置)检索值。
为了更好地理解这一点,让我们继续构建我们在本文开头创建的程序。
`java
//导入列表以使其可用
导入 java.util.ArrayList;
公共类程序{
公共类 void main(String[] args) {
//创建一个字符串列表
ArrayList 列表 = 新的 ArrayList<>();
//add three values list.add("First"); list.add("Second"); list.add("Third"); //retrieve value through their index (position) System.out.println(list.get(0)); }
}
`
你能猜出会显示哪个元素吗?
如果您首先猜到了,那您是完全正确的。
First
列出方法
在这里,我们可以验证ArrayList
的一系列有用方法。
- 验证 ArrayList 是否为空,如果列表不包含任何元素,则返回true 。
ArrayList < String > list = new ArrayList <>(); System . out . println ( list . isEmpty ());
- 添加到列表是通过以下方法完成的。
ArrayList < Integer > numbers = new ArrayList <>(); numbers . add ( 5 ); numbers . add ( 3 );
- 大小方法很简单。
ArrayList < String > wordList = new ArrayList <>(); int totalSize = wordList . size ();
- 要从某个索引中检索值,我们使用.get方法。
ArrayList < Double > decimals = new ArrayList <>(); decimals . add ( 0.01 ); String decimal = decimals . get ( 0 ); System . out . println ( decimal );
- 从列表中删除元素,它可以同时接收参数,值或要删除的值的索引。
ArrayList < String > list = new ArrayList <>(); list . remove ( "hello world!" ); list . remove ( 3 );
- 使用contains方法验证值的存在,如果列表包含指定元素,则返回true 。
ArrayList < String > list = new ArrayList <>(); boolean found = list . contains ( "hello world!" );