1.List接口继承了Collection接口,因此包含了Collection中的所有方法,但是因为list是列表类型,因此List接口还提供了一些适合自身的方法。
2.要使用List集合,通常情况下需要声明List类型,然后通过List接口的实现类来对集合进行实例化。List接口的实现类常用的有ArrayList与LikedList.
ArrayList:
该类实现了可变的数组,允许所有元素,包括null.可以通过索引位置对集合进行快速的随机访问。不足之处是:向指定的索引位置插入对 象或删除对象的速度较慢。
语法:List<String> list=new ArrayList<String>(); <String>可以是其他的类型
LikedList:
该类采用链表结构保存对象。这种结构的优点是:便于向集合中插入和删除对象,经常需要向集合插入和删除对象时,使用LikedList类实现的List集合的效率较好;但是对于随 机访问集合中的对象,使用LikedList类实现List集合的效率较慢。
语法:List<String> list=new LikedList<String>(); <String>可以是其他的类型
List接口常用的方法
1. add
void add(int index,E element)
- 在列表的指定位置插入指定元素(可选操作)。将当前处于该位置的元素(如果有的话)和所有后续元素向右移动(在其索引中加 1)
- 2.remove
- remove(int index)
- 移除列表中指定位置的元素(可选操作)。将所有的后续元素向左移动(将其索引减 1)。返回从列表中移除的元素。
-
3.indexOf
int indexOf(Object o)
- 返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。更确切地讲,返回满足 (o==null ? get(i)==null : o.equals(get(i))) 的最低索引 i;如果没有这样的索引,则返回 -1。
-
4.lastIndexOf
int lastIndexOf(Object o)
- 返回此列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1。更确切地讲,返回满足 (o==null ? get(i)==null : o.equals(get(i))) 的最高索引 i;如果没有这样的索引,则返回 -1。
-
5.set
set(int index, E element)
- 用指定元素替换列表中指定位置的元素(可选操作)。
-
6.addAll
boolean addAll(int index Collection coll)
- 将指定 collection 中的所有元素都插入到列表中的指定位置(可选操作)。将当前处于该位置的元素(如果有的话)和所有后续元素向右移动(增加其索引)。新元素将按照它们通过指定 collection 的迭代器所返回的顺序出现在此列表中。如果在操作正在进行中修改了指定的 collection,那么该操作的行为是不确定的(注意,如果指定的 collection 是此列表,并且它是非空的,则会发生这种情况。)
- 例如:
- ArrayList类和List的一些方法
package com.maya.jihe;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List list=new ArrayList();
//add(int index) 向集合中添加对象
list.add("a");
list.add("b");
list.add("c");
list.add(123);
list.add("456");
int i=(int)(Math.random()*(list.size()-1));
System.out.println("输出集合:"+list);
System.out.println("输出集合的长度"+list.size()); //集合.size() 集合中的长度
System.out.println("输出集合长度的随机数"+i);
System.out.println("输出随机数所对应的对象"+list.get(i));
for(int i1=0;i1<list.size();i1++){
System.out.println(list.get(i1)+" ");
}
// list.remove(3); //集合.remove() 移除集合中指定索引位置的对象
// System.out.println("输出去除索引值3所对应的对象之后的集合:"+list);
// System.out.println("输出除索引值3所对应的对象之后的集合的长度"+list.size());
// list.add(3, "我是刚加入的"); //集合.add(int index,Object obj) 向集合中指定索引位置添加对象,其他对象的索引位置相对后移一位。
// System.out.println("输出加入索引值3所对应的对象之后的集合:"+list);
// list.set(3, "我是刚被替换的"); //集合.set(int index,E element) 用指定元素替换列表中指定位置的元素,返回以前在指定位置的元素。
// System.out.println("输出替换索引值3所对应的对象之后的集合:"+list);
}
}
linkedList类
-
package com.maya.jihe; import java.util.LinkedList; import java.util.List; public class Likedlist { public static void main(String[] args) { List list=new LinkedList(); list.add("a"); list.add("b"); list.add("c"); list.add(123); list.add("456"); System.out.println(list); list.remove(3); //集合.remove() 移除集合中指定索引位置的对象 System.out.println("输出去除索引值3所对应的对象之后的集合:"+list); } }
-