您的位置:首页 > 编程语言 > Java开发

2014年4月5日 java集合框架总结2--List接口及其子类

2014-04-06 19:05 405 查看
List接口

Collection接口的子接口,可以使用Collection中全部方法。

有序集合,元素有索引,元素可以重复

List:特有的常见方法:有一个共性特点就是都可以操作角标。
1,添加
    void add(index,element):
   boolean addAll(int index, Collection c):

2,删除;
    Object remove(index):

3,修改:
    Object set(index,element):

4,获取:
    Object get(index):

    int indexOf(object):

    int lastIndexOf(object):

    List subList(from,to):

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

/**
* List接口及其子类
* 2014-4-6
* @author Administrator
*
*/
public class ListDemo {

/**
* @param args
*/
public static void main(String[] args) {
List l1=new ArrayList();
List l2=new ArrayList();
show(l1,l2);

}
public static void show(List l1,List l2){
//添加元素
l1.add(0, "123");
l1.add(1, "mno");
l1.add(2, "abc");
l1.add(3, "mno");
System.out.println(l1);

l2.add("789");
l2.add("456");
l2.addAll(1,l1 );
System.out.println(l2);

//删除
l2.remove(2);
System.out.println(l2);

//修改
l2.set(4, "ijk");
System.out.println(l2);

//获取
l2.add(3,"ijk");
System.out.println(l2);
System.out.println(l2.get(3));
System.out.println(l2.indexOf("456"));
//返回此列表首次出现元素的位置
System.out.println(l2.indexOf("ijk"));
//返回此列表最后出现元素的位置
System.out.println(l2.lastIndexOf("ijk"));
//返回从索引1开始(包含)到索引2位置前
List l3=l2.subList(1, 4);
System.out.println(l3);
}

}


程序运行结果

[123, mno, abc, mno]
[789, 123, mno, abc, mno, 456]
[789, 123, abc, mno, 456]
[789, 123, abc, mno, ijk]
[789, 123, abc, ijk, mno, ijk]
ijk
-1
3
5
[123, abc, ijk]


ListIterator

Iterator的子接口,专供List接口使用

元素所在容器容器有索引,可以逆向遍历

特有方法:

boolean hasPrevious()

Object previous()

void add(element)

List接口下的常用集合类

Vector:内部是数组数据结构,多个线程是同步的。增删,查询都很慢!(同步是以牺牲效率为代价的)

ArrayList:内部是数组数据结构,多个线程是不同步的。替代了Vector。查询的速度快。

LinkedList:内部是链表数据结构,多个线程是不同步的。增删元素的速度很快。

Vector类下的子类Stack

Stack:内部是栈数据结构,先进后出
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: