LinkedList链表:
List接口的链接列表实现。允许存储所有元素(包含null)。使用频繁增删元素。
linkedList方法:
void addFirst(E e) 指定元素插入列表的开头
void addLast(E e)
boolean offerFirst(E e) 在此列表的开头插入指定的元素
boolean offerLast(E e)
E getFirst() 返回此列表的第一个元素
E getLast()
E removeFirst() 移除并返回此列表的第一个元素
E removeLast()
E peekFirst() 获取但不移除此列表的一个元素,若此列表为空,则返回null
E peekLast()
E pollFirst() 获取并移除此列表的第一个元素,若此列表为空,则返回null
E pollLast()
LinkList线程不同步,可在创建时使其保持同步,
List list=Collections.synchronizedList(new LinkList(…));
示例:
package test;
import java.util.LinkedList;
import java.util.List;
public class LinkedListTest {
public static void main(String[] args) {
// 测试LinkedList常用方法
testLinkedListMethods() ;
}
private static void testLinkedListMethods() {
LinkedList<String> llist = new LinkedList<String>();
//List<String> llist = new LinkedList<String>();
llist.add("1");
llist.add("2");
llist.add("3");
llist.add("测试4");
llist.add(2, "test5");//添加到指定位置
llist.addFirst("开始位置6");//添加到开始位置
System.out.println("1-llist:"+llist);
System.out.println("2-llist.removeFirst():"+llist.removeFirst());//removeFirst()返回移除的值
System.out.println("3-llist:"+llist);
System.out.println("4-llist.getFirst():"+llist.getFirst());//,LinkedList有
llist.offerFirst("10");//列表开始位置插入,LinkedList有
System.out.println("5-llist:"+llist);
System.out.println("llist.pollFirst():"+llist.pollFirst());//返回并移除列表开始位置的值
System.out.println("6-llist:"+llist);
System.out.println("7-llist.peekFirst():"+llist.peekFirst());//返回但不移除列表第一个元素
llist.addLast("列表尾部插入1");//,LinkedList有
System.out.println("8-llist:"+llist);
System.out.println("9-llist.removeLast():"+llist.removeLast());//返回并移除列表最后一个值
System.out.println("10-llist:"+llist);
System.out.println("11-llist.getLast():"+llist.getLast());//返回列表最后一个值
llist.offerLast("20");//列表尾部增加
System.out.println("12-llist:"+llist);
System.out.println("13-llist.pollLast():"+llist.pollLast());//获取并移除列表的列表的最后一个元素
System.out.println("14-llist:"+llist);
System.out.println("15-llist.peekLast():"+llist.peekLast());//
llist.set(2, "300");
System.out.println("16-\nget(3):"+llist.get(2));
// 将LinkedList转行为数组
String[] arr = llist.toArray(new String[0]);
for (String str:arr)
System.out.println("17-str:"+str);
System.out.println("18-size:"+llist.size());
// 清空LinkedList
llist.clear();
// 判断LinkedList是否为空
System.out.println("19-isEmpty():"+llist.isEmpty()+"\n");
}
}