LinkedList:
内部是链表数据结构,是不同步的。增删元素的速度很快。
对象方法:
常用的几个方法:
addFirst();
addLast():
jdk1.6
offerFirst();
offetLast();
getFirst();.//获取但不移除,如果链表为空,抛出NoSuchElementException.
getLast();
jdk1.6
peekFirst();//获取但不移除,如果链表为空,返回null.
peekLast():
removeFirst();//获取并移除,如果链表为空,抛出NoSuchElementException.
removeLast();
jdk1.6
pollFirst();//获取并移除,如果链表为空,返回null.
pollLast();
import java.util.Iterator;
import java.util.LinkedList;
public class LinkedListDemo {
/**
* @param args
*/
public static void main(String[] args) {
LinkedList link = new LinkedList();
link.addFirst("abc1");
link.addFirst("abc2");
link.addFirst("abc3");
link.addFirst("abc4");
// System.out.println(link);
// System.out.println(link.getFirst());//获取第一个但不删除。
// System.out.println(link.getFirst());
// System.out.println(link.removeFirst());//获取元素但是会删除。
// System.out.println(link.removeFirst());
while(!link.isEmpty()){
System.out.println(link.removeLast());
}
System.out.println(link);
// Iterator it = link.iterator();
// while(it.hasNext()){
// System.out.println(it.next());
// }
}
}
使用LinkedList来模拟一个队列的数据结构
import java.util.LinkedList;
/**
* 封装特有功能。
*/
public class DuiLie {
private LinkedList link;
public DuiLie() {
link = new LinkedList();
}
/**
* 队列的添加元素的功能。
*/
public void myAdd(Object obj) {
link.addLast(obj);
}
/**
* 队列里面获取元素的功能。
*/
public Object myGet() {
return link.removeFirst();
}
/**
* 判断队列是否为空
*/
public boolean isNull() {
return link.isEmpty();
}
}
import java.util.ArrayList;
堆栈:先进后出 First In Last Out FILO
*
* 队列:先进先出 First In First Out FIFO
*
* 我们应该描述这样一个容器,给使用提供一个容器对象完成这两种结构中的一种。
*/
public class LinkedTest {
/**
* @param args
*/
public static void main(String[] args) {
DuiLie dl = new DuiLie();
dl.myAdd("abc1");
dl.myAdd("abc2");
dl.myAdd("abc3");
dl.myAdd("abc4");
while(!dl.isNull()){
System.out.println(dl.myGet());
}
}
}