模拟栈的进出操作关键在于LinkedList的pop()方法,它实现的是移除并返回集合的第一个元素,实现类似于弹栈的操作!
public class MyList {
LinkedList linkedList;//定义一个LinkedList集合
public MyList(){
linkedList= new LinkedList();//创建LinkedList集合对象传入linkedList
}
public void addEle(Object ele) {//向集合中添加元素
linkedList.addFirst(ele);//向集合中第一个位置添加元素,类似于入栈操作;
}
public Object getEle() {//获取元素;
Object pop = linkedList.pop();//从此堆栈集合中弹出一个元素,先入栈,后弹栈;
//返回的是集合列表的第一个元素;
linkedList.addLast(pop);//将弹栈的元素添加在集合的末尾位置;
return pop;//返回弹出的元素;
}
}
public class MyTest {
public static void main(String[] args) {
//栈的数据结构是先进后出,后进先出
MyList myList = new MyList();
myList.addEle(100);//向集合中添加元素,类似于入栈;
myList.addEle(200);
myList.addEle(300);
Object ele = myList.getEle();//获取集合中的第一个元素,弹栈操作
System.out.println(ele);
ele = myList.getEle();//获取集合中的第二个元素,弹栈操作
System.out.println(ele);
ele = myList.getEle();//获取集合中的第三个元素,弹栈操作
System.out.println(ele);
}
}