天天动画片 > 八卦谈 > Java集合-List

Java集合-List

八卦谈 佚名 2023-08-07 18:15:31

java.util.List接口是java.util.Collection 接口的一个子接口。它表示对象的一个有序列表,意味你可以特定的顺序访问元素,也可以通过索引访问。也可以向一个 List中多次添加重复的元素。

Java List 视频教程

如果你更喜欢看视频而不是文本,下面是一个版本的Java List视频教程。
https://youtu.be/d3QbptJRln4

List实现

作为一个Collection的子类型,Collection接口的所有方法在List接口里也适用。

因为List是一个接口,为了使用它,你必须实例化一个具体的实现,你可以在下列List的实现中选择:

  1. java.util.ArrayList

  2. java.util.LinkedList

  3. java.util.Vector

  4. java.util.Stack

java.util.concurrent 包中,同样也有List 的实现,但是在本教程中,我将不考虑并发程序。

下面是创建List实例的一些例子

新增和读取元素

向一个List中增加元素可以调用 add()方法,这个方法从Collection接口继承而来,下面是一些例子

前三个 add()方法在list的末尾增加一个String。最后一个 add()方法在索引0处增加一个String,就是list的开头。

增加元素到List的顺序被储存,所以你可以按照同样的顺序读取元素。你也可以使用get(int index)方法或者通过iterator() 方法返回的Iterator对象来做这件事情。下面是例子

当通过Iterator或者for循环迭代list的时候,元素按照他们被存储的顺序被迭代。

移除元素

你有两种方式去移除元素

  1. remove(Object element)

  2. remove(int index)

remove(Object element)移除list中存在的元素。所有后续的元素向前移动,索引因此减少1。

清空一个List

Java List 接口包含一个clear()方法,作用是移除所有的元素。下面是个简单的例子

List的大小

你可以获取List 中元素的个数通过调用size()方法,下面是个例子

泛型列表

默认你可以放入一个Object到一个List中,但是从Java 5起,Java泛型使限制你可以放入一个List的类型成为可能,下面是例子

List现在只有MyObject 的实例可以插入进去,你可以迭代和读取它的元素而不用强制转化它们,就像下面这样

迭代一个列表

迭代一个Java List 有几种不同的方式,我将在这里展示三种最常见的方式。

第一种方式是利用一个Iterator,下面是一个例子

你可以获取一个Iterator 通过调用List 接口的iterator()方法。

一旦你获取了一个Iterator ,可以不停的调用它的 hasNext() 方法直到返回false。
像你看到的,在while 循环中调用hasNext()方法。

while 循环中你可以调用next()方法来获取Iterator指针指向的下一个元素。

下面是例子

另外一种迭代的方式是使用Java 5中新增的for循环,下面是个例子

List中的每个元素都会被执行一个for循环,在for循环中,每个元素轮流绑定到obj变量上。

如果是一个泛型列表,可以在for循环中转换变量类型,下面是例子

注意List 怎么被限制为String,因此你可以在for循环中将一个变量设置为String

最后一种迭代列表的方式是使用传统的for循环

view sourceprint?

for循环创建一个int类型变量并把它初始化为0,当i小于列表长度的时候,一直循环。每一次循环i将会自增。

在JavaDoc中有更多细节

一个List有许多你可以做的事情,但是你必须查看文档获取更多的细节。本篇文章重点在两个普通的操作:增加、移除元素,并且迭代它们。


本文标题:Java集合-List - 八卦谈
本文地址:www.ttdhp.com/article/37082.html

天天动画片声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
扫码关注我们