位置:首页 > Java技术 > Java基础教程 > Java List接口

Java List接口

List接口扩展了集合,并声明存储元素的序列集合的行为。

  • 元素可以插入或访问他们的列表中的位置,使用从零开始的索引。

  • 列表可以包含重复的元素。

  • 除了由集合中定义的方法列表定义了一些它自己的,这是总结如下下表。

  • 几个列表的方法将抛出一个UnsupportedOperationException如果集合不能被修改,当一个对象与另一个不兼容时产生ClassCastException。

SN 方法及描述
1 void add(int index, Object obj)
Inserts 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)
从调用列表删除index位置的元素,并返回被删除的元素。结果列表中被压缩。也就是说,随后的元素的索引减一
9 Object set(int index, Object obj)
赋予obj转换通过索引调用列表中指定的位置。
10 List subList(int start, int end)
返回一个列表,其中包括在调用列表,从开始元素end-1。在返回列表中的元素也被调用对象的引用。

例子:

上述界面中各种类如ArrayList或LinkedList等已经实现。下面是例子来说明不同类实现上述收集方法几个方法:

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("	" + 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("	" + l1);
   }
}

这将产生以下结果:

 ArrayList Elements
        [Zara, Mahnaz, Ayan]
 LinkedList Elements
        [Zara, Mahnaz, Ayan]