List

List:有序(存入和取出的顺序一致),元素都有索引(角标),允许重复元素。

常用方法:

1、添加
     void add(index,element);
     void addAll(index,collection);
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;

public class ListDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        List list=new ArrayList();
        //添加
        list.add("a");
        list.add("b");
        System.out.println(list);
        
        //插入
        list.add(2, "c");
        System.out.println(list);
        
        //删除
        list.remove(1);
        System.out.println(list);
        
        //修改元素
        System.out.println(list.set(0, "d"));
        
        //获取元素
        System.out.println(list.get(1));
        
        //获取子列表
        System.out.println(list.subList(1, 2));
        
        System.out.println(list);
        
    }

}

遍历List

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

import org.junit.Test;

public class ListDemo1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        List list=new ArrayList();
        
        list.add("a");
        list.add("b");
        list.add("c");
        System.out.println(list);
        
        Iterator it=list.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }
    }
    @Test
    //在迭代器过程中,不要使用集合操作元素,容易出现异常:java.util.ConcurrentModificationException。
    //可以使用Iterator接口的子接口ListIterator来完成在迭代中对元素进行更多的操作。
    public void test() {

        List list = new ArrayList();

        list.add("a");
        list.add("b");
        list.add("c");
        System.out.println(list);

        Iterator it = list.iterator();
        while (it.hasNext()) {
            Object obj=it.next();
            if(obj.equals("a")){
                list.add("f");
            }
        }
        System.out.println(list);
    }
}

List:
       |--Vector:内部是数组数据结构,是同步的。增删,查询都很慢。线程安全
       |--ArrayList:内部是数组数据结构,是不同步的,替代了Vector。替代了Vector,查询的速度快。线程不安全
       |--LinkedList:内部是链表数据结构,是不同步的。增删元素的速度很快。线程不安全

LinkedList方法:
addFirst();
addLast();
jdk1.6版本后新方法:
offerFirst();与addFirst方法没有区别。
offerLast();与addLast方法没有区别。
---------------------------------------------------------
getFirst();//获取但不移除,如果链表为空,抛出NoSuchElementException。
getLast();
jdk1.6版本后新方法:
peekFirst();//获取但不移除,如果链表为空,返回null。
peekLast();
--------------------------------------------------------
removeFirst();//获取并移除,如果链表为空,抛出NoSuchElementException。
removeLast();
jdk1.6版本后新方法:
pollFirst();//获取并移除,如果链表为空,返回null;
pollLast();

加油啦!加油鸭,冲鸭!!!
原文地址:https://www.cnblogs.com/clarencezzh/p/5087079.html