Java 列表接口
列表接口扩展了 Collection 并声明了一个存储元素序列的集合的行为。
- 可以通过在列表中的位置使用零为基的索引来插入或访问元素。
-
列表可以包含重复的元素。
-
除了由 Collection 定义的方法外,列表定义了一些自己的方法,这些方法在下表中总结。
-
如果集合不能被修改,一些列表方法将抛出UnsupportedOperationException异常,并且当一个对象与另一个对象不兼容时,会生成ClassCastException。
序号 | 方法和描述 |
---|---|
1 | void add(int index, Object obj)将obj插入到调用列表中传入的索引处。任何在插入点或超出插入点的预先存在的元素都会向上移动。因此,没有元素被覆盖。 |
2 | boolean addAll(int index, Collection c)将c的所有元素插入到调用列表中传递给索引的索引处。任何在插入点或超出插入点的预先存在的元素都会向上移动。因此,没有元素被覆盖。如果调用的列表发生变化,返回true,否则返回false。 |
3 | Object get(int index)返回存储在调用集合中指定索引处的对象。 |
4 | int indexOf(Object obj)返回调用列表中第一个obj实例的索引。如果obj不是列表中的元素,则返回.1。 |
5 | int lastIndexOf(Object obj)返回调用列表中最后一个obj实例的索引。如果obj不是列表中的元素,则返回.1。 |
6 | ListIterator listIterator( )返回指向调用列表起始处的迭代器。 |
7 | ListIterator listIterator(int index)返回一个指向调用列表的迭代器,从指定的下标开始。 |
8 | Object remove(int index)从调用的列表中删除索引位置的元素,并返回被删除的元素。结果列表被合并。也就是说,后续元素的索引减1。 |
9 | Object set(int index, Object obj)将obj赋值到调用列表中由index指定的位置。 |
10 | List subList(int start, int end)返回一个从头到尾包含元素的列表。1在调用列表中。返回列表中的元素也会被调用的对象引用。 |
示例1
上面的接口是用ArrayList实现的。下面是解释上述集合方法的几个类实现中的几个方法的示例 −
import java.util.*;
public class CollectionsDemo {
public static void main(String[] args) {
List a1 = new ArrayList();
a1.add("Zara");
a1.add("Mahnaz");
a1.add("Ayan");
System.out.println(" ArrayList Elements");
System.out.print("\t" + a1);
List l1 = new LinkedList();
l1.add("Zara");
l1.add("Mahnaz");
l1.add("Ayan");
System.out.println();
System.out.println(" LinkedList Elements");
System.out.print("\t" + l1);
}
}
这将产生以下结果 −
输出
ArrayList Elements
[Zara, Mahnaz, Ayan]
LinkedList Elements
[Zara, Mahnaz, Ayan]
示例2
上述接口是使用LinkedList实现的。下面是解释上述集合方法的几个类实现中的几个方法的示例 −
import java.util.LinkedList;
import java.util.List;
public class CollectionsDemo {
public static void main(String[] args) {
List<String> a1 = new LinkedList<>();
a1.add("Zara");
a1.add("Mahnaz");
a1.add("Ayan");
System.out.println(" LinkedList Elements");
System.out.print("\t" + a1);
}
}
输出
LinkedList Elements
[Zara, Mahnaz, Ayan]
示例3
上面的接口是用ArrayList实现的。下面是另一个例子,解释上述集合方法的不同类实现中的几个方法 −
import java.util.ArrayList;
import java.util.List;
public class CollectionsDemo {
public static void main(String[] args) {
List<String> a1 = new ArrayList<>();
a1.add("Zara");
a1.add("Mahnaz");
a1.add("Ayan");
System.out.println(" ArrayList Elements");
System.out.print("\t" + a1);
// remove second element
a1.remove(1);
System.out.println("\n ArrayList Elements");
System.out.print("\t" + a1);
}
}
输出
ArrayList Elements
[Zara, Mahnaz, Ayan]
ArrayList Elements
[Zara, Ayan]