首页 > 代码库 > Java中List的用法

Java中List的用法

List接口对Collection进行了简单的扩充。

它的具体实现类常用的有ArrayList和LinkedList。

ArrayList从其命名中可以看出它是以一种类似数组的形式存储,因此它的随机访问速度极快,但插入和移除元素的速度很慢。

LinkedList的内部实现是链表,它适合于在链表中间需要频繁进行插入和删除操作,不适合随机访问,LinkedList可以当作堆栈、队列和双向队列使用。

一个List可以生成ListIterator,使用它可以从两个方向遍历List,也可以从List中间插入和删除元素。ListIterator只应该用来由后向前遍历ArrayList,而不是用来插入和删除元素。

下面以ArrayList为例,介绍一下List中的基本方法:

1、添加方法:add(e);    有顺序的依次从下标0往后添加

     例如:

// 默认给这个集合添加一些元素
		list.add("abc1");
		list.add("abc2");
		list.add("abc3");
		//System.out.println(list);
     add(index,e);        插入到指定的index位置

// 1、插入元素
		list.add(2,"bcd");
		System.out.println(list);
2、删除指定位置的元素

      remove(index);

// 2、删除指定位置的元素
		System.out.println(list.remove(1));
		System.out.println(list);
		System.out.println(list.remove(1));
		System.out.println(list);
3、获取指定位置的元素

      get(index);

// 3、获取指定位置的元素
		System.out.println(list.get(1));
		System.out.println(list);
4、修改指定位置的元素

      set(index,e);

// 4、修改指定位置上的元素
		System.out.println(list.set(1,"hello"));
		System.out.println(list);
5、获取元素的位置

      indexOf(e);

// 5、获取元素的位置
//		System.out.println(list.indexOf("abc2"));
6、获取子列表

      subList(fromindex,toindex);

// 6、获取子列表
		System.out.println(list.subList(1,3));

以下为完整代码:

package list_set;

import java.util.ArrayList;
import java.util.List;

public class Main {
	public static void main(String[] args)
	{
		List list=new ArrayList();
		listMethodDemo(list);
	}
	
	/*
	 * 演示List中的特有方法
	 */
	public static void listMethodDemo(List list)
	{
		// 默认给这个集合添加一些元素
		list.add("abc1");
		list.add("abc2");
		list.add("abc3");
		//System.out.println(list);
		
		// 1、插入元素
//		list.add(2,"bcd");
//		System.out.println(list);
		
		// 2、删除指定位置的元素
//		System.out.println(list.remove(1));
//		System.out.println(list);
//		System.out.println(list.remove(1));
//		System.out.println(list);
		
		// 3、获取指定位置的元素
//		System.out.println(list.get(1));
//		System.out.println(list);
		
		// 4、修改指定位置上的元素
//		System.out.println(list.set(1,"hello"));
//		System.out.println(list);
		
		// 5、获取元素的位置
//		System.out.println(list.indexOf("abc2"));
		
		// 6、获取子列表
		System.out.println(list.subList(1,3));
	}
}