ArrayList与LinkedList比较:
ArrayList:类似于数组,在内存中的存储位置是连续的
优点:查询快
缺点:插入删除操作慢
LinkedList:类似于指针,在内存中的存储位置可以不连续
优点:插入删除操作快
缺点:查询慢
//addFirst()方法演示
package chapter09;
import java.util.LinkedList;
public class LinkedListDemo1 {
public static void main(String[] args)
{
LinkedListDemo1 l=new LinkedListDemo1();
l.LinkesListTest();
}
public void LinkesListTest()
{
LinkedList l=new LinkedList();
l.addFirst("aa");
l.addFirst("bb");
l.addFirst("cc"); //添加到第一个位置的元素
System.out.println(l.getFirst());
}
}
package chapter09;
import java.util.LinkedList;
public class LinkedListDemo1 {
public static void main(String[] args)
{
LinkedListDemo1 l=new LinkedListDemo1();
l.LinkesListTest();
}
public void LinkesListTest()
{
LinkedList l=new LinkedList();
l.addFirst("aa");
l.addFirst("bb");
l.addFirst("cc"); //添加到第一个位置的元素
Object obj=l.removeFirst(); //移除第一个元素
System.out.println(obj); //返回移除的元素
System.out.println(l.getFirst());
}
}
LinkedList模仿队列
特点先进先出
package chapter09;
import java.util.LinkedList;
public class DuiLie {
public static void main(String[] args)
{
DuiLie d=new DuiLie();
d.add("aa");
d.add("bb");
d.add("cc");
d.add("dd");
System.out.println(d.get());
System.out.println(d.get());
System.out.println(d.get());
System.out.println(d.get());
}
private LinkedList linkedlist;
public DuiLie() //重写构造方法
{
linkedlist=new LinkedList();
}
public void add(Object obj)
{
linkedlist.addFirst(obj); //每次都是放到第一个位置
}
public Object get()
{
return linkedlist.removeLast(); //先放进来的先出来
}
}
LinkedList模仿栈
特点先进后出
package chapter09;
import java.util.LinkedList;
public class DuiLie {
public static void main(String[] args)
{
DuiLie d=new DuiLie();
d.add("aa");
d.add("bb");
d.add("cc");
d.add("dd");
System.out.println(d.get());
System.out.println(d.get());
System.out.println(d.get());
System.out.println(d.get());
}
private LinkedList linkedlist;
public DuiLie()
{
linkedlist=new LinkedList();
}
public void add(Object obj)
{
linkedlist.addFirst(obj); //每次放进第一个位置
}
public Object get()
{
return linkedlist.removeFirst(); //先进后出,先输出最上面的
}
}