List是java中一种常见的容器。
所谓容器,是指它能够容纳其它对象。
//利用ArrayList实现完成一个栈结构
import java.util.*;
class MyStack<T>
{
private ArrayList<T> al = new ArrayList<T>();
public boolean push(T e)
{
return al.add(e);
}
public T pop()
{
if(al.size() > 0)
{
return al.remove(al.size() - 1);
}
else
{
return null;
}
}
public int size()
{
return al.size();
}
}
public class Test
{
public static void main(String[] args)
{
MyStack<String> ms = new MyStack<String>();
ms.push("Tom");
ms.push("Marry");
ms.push("Jack");
String element;
while((element = ms.pop()) != null)
{
System.out.println(element);
}
}
}
LinkedList:
LinkedList是以链表方式实现的链表List。
链表是一种线性结构。
LinkedList时List接口的一个实现。
//利用LinkedList实现泛型类,自定义队列
import java.util.*;
class MyQueue<T>
{
private LinkedList<T> ll = new LinkedList<T>();
public boolean add(T e)
{
return ll.add(e);
}
public T remove()
{
if(ll.size() > 0)
{
return ll.remove();
}
else
{
return null;
}
}
}
public class Test
{
public static void main(String[] args)
{
MyQueue<String> mq = new MyQueue<String>();
mq.add("Tom");
mq.add("Marry");
mq.add("Jack");
String element;
while((element = mq.remove()) != null)
{
System.out.println(element);
}
}
}