Java ArrayLists:绝对初学者的简易教程

问候开发社区! 我以为我最终会尝试用Java编写一系列教程。 但是,为什么要使用Java? 是不是从90年代开始? 我选择Java的原因是因为这是我在学校学习的东西,我愿意推测其他许多学生和初学者至少有一些使用Java的课程或教程。 就个人而言,我发现使用Java进行开发真的很有趣。 是的,它已经老了,但它的陈年就像是美酒。 我也是90年代的产物。 如果可以的话,可以追溯到千禧年。 Java仍然是最新的,您可以使用它构建大量的项目,包括简单的CRUD应用程序,Android应用程序等等。
另外,写作也是巩固您对某个主题的理解的一种好方法,我认为这将帮助我保持Java的新鲜感。 请注意,我仍然是学生,因此,如果我遇到任何严重的错误,请向我指出,以便我进行必要的编辑。 我的目的是为Java /编程世界的其他初学者提供一系列简单的教程,介绍Java中最常用的数据结构之一:数组列表。 在本教程中,我将简要讨论什么是ArrayList,并通过提供的示例演示3种基本的CRUD操作。

什么是ArrayList?

我假设您已经对类,多态性和接口进行了一些介绍,但是由于我本人还是新手,所以让我们花一点时间仔细研究一下。 正式地,ArrayList类是List接口的基于数组的实现。 这种相当隐晦的定义基本上意味着ArrayList是一个类,用于在List接口中定义空方法。 值得庆幸的是,Java神灵足以为我们这些凡人定义这些方法,因此ArrayLists并不像它们最初看起来那样复杂。 让我们从基础开始。 要声明ArrayList,只需执行以下操作:

public static void main ( String [] args ) {

 ArrayList < String > list = new ArrayList <>();

}

我们这里发生了一些事情。 首先,我们声明了一个名为list的ArrayList对象。 但是尼克! 我听到你哭了。 到底是什么? ArrayList实际上存储泛型。

    ArrayList < T > list = new ArrayList <> (); 

T是您希望存储在其中的任何对象。 在我的示例中,我决定存储字符串,但是您可以将任何类型的对象放入所需的列表中。 例如,您可以delcare

public static void main ( String [] args ) {

 ArrayList < Integer > list = new ArrayList <>();

}

要么...

public static void main ( String [] args ) {

ArrayList < Double > list = new ArrayList <> ();

}

清单继续(对双关语)。 现在,我将重点介绍使用字符串,但是我鼓励您尝试其他对象类型。

添加到ArrayList

ArrayList类带有一些用于CRUD(CREATE,READ,UPDATE,DELETE)实现功能的预定义方法。 将元素添加到ArrayList非常简单。 请允许我向您介绍add(E e)方法,其中E是我们要添加的元素。

public static void main ( String [] args ) {

 ArrayList < Integer > list = new ArrayList <>();
list . add ( "Java" ); 

System . out . println ( list ); 

}

编译时,将得到以下输出:

[ Java ]

我在这里所做的是在ArrayList中添加一个值为“ Java”的String对象。 打印它,注意它看起来像一个数组!
我们可以根据需要在ArrayList中添加任意数量的元素(以及您的计算机内存可以处理的最大数量!),因此我们可以考虑
ArrayList的大小为n。 让我们向列表中添加更多值。

  list . add ( "Python" );
  list . add ( "Kotlin" );
  list . add ( "JavaScript" );
  list . add ( "Ruby" );

现在,当我打印此文件时,将得到以下输出:

public static void main ( String [] args ) {

 ArrayList < Integer > list = new ArrayList <>();
list . add ( "Java" ); 
list . add ( "Python" );
list . add ( "Kotlin" );
list . add ( "JavaScript" );
list . add ( "Ruby" );

System . out . println ( list );
}

现在,当我打印此文件时,将得到以下输出:

  [ Java , Python , Kotlin , JavaScript , Ruby ] 

更新清单

有时我们可能想更新ArrayList内部的内容。 更新ArrayList很简单。 现在说,我们在列表中添加了一些要进行一些更新的元素。 使用set(int index,E element)方法处理列表的更新。 假设我要修改JavaScript以显示“反应”。

public static void main ( String [] args ) {

 ArrayList < Integer > list = new ArrayList <>();

list . add ( "Java" ); 
list . add ( "Python" );
list . add ( "Kotlin" );
list . add ( "JavaScript" );
list . add ( "Ruby" );

list . set ( 3 , "React" );

System . out . println ( list );

}

现在,当我打印此文件时,应该会看到所需的编辑。

[ Java , Python , Kotlin , React , Ruby ]

小心! ArrayList中的元素的值为1。 这意味着Java位于索引0,而不是1! 如果您不相信我,我会证明这一点:

 list . set ( 1 , "Oops!" ); 

//Output 
 [ Java , Oops !, Kotlin , React , Ruby ]


Python位于索引1,但我们可能打算将Java更改为“哎呀!”。 这是新手(包括我自己)中的常见错误,因此请记住这一点。

从ArrayList中删除

最后,我将向您介绍remove()方法。 使用remove(),可以删除元素的索引或对象本身。 但是它们都达到相同的效果!

public static void main ( String [] args ) {

 ArrayList < Integer > list = new ArrayList <>();

list . add ( "Java" ); 
list . add ( "Python" );
list . add ( "Kotlin" );
list . add ( "JavaScript" );
list . add ( "Ruby" );

list . set ( 3 , "React" );

//Remove index zero
list . remove ( 0 );

System . out . println ( list );

//Output
 [ Python , Kotlin , React , Ruby ]

}

在这里,我删除了包含字符串“ Java”的索引0。 Java已被删除。 同样,我们还可以执行以下操作:

public static void main ( String [] args ) {

 ArrayList < Integer > list = new ArrayList <>();

list . add ( "Java" ); 
list . add ( "Python" );
list . add ( "Kotlin" );
list . add ( "JavaScript" );
list . add ( "Ruby" );

list . set ( 3 , "React" );

//Remove index zero
list . remove ( "Java" );

System . out . println ( list );

//Output
 [ Python , Kotlin , React , Ruby ]

}

请注意,这将产生相同的结果。 唯一需要注意的是,这种从列表中删除的方法返回一个布尔值,而删除索引则返回E或指定索引处的元素。 如果该对象存在于列表中,则将其删除。 如果我尝试删除列表中不存在的对象

 System . out . println ( list . remove ( "HTML" )); //returns false

这是因为HTML显然不在列表中。 有关更多信息,请查阅官方文档以了解ArrayLists的更多方法和功能。 我希望这能为您提供丰富的信息,并且可以轻松地过渡到Java语言的更高级功能。 在以后的教程中,我将尝试创建一些自定义对象来演示ArrayLists的一些更灵活的功能。 请留下任何
以下的问题或评论,我很乐意回答!

From: https://dev.to/nshattuck/java-arraylists-a-dead-easy-tutorial-for-absolute-beginnners-8ig

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值