问题描述
请用LinkedList模拟栈数据结构的集合,并使用。packagecn.itcast_03;importjava.util.LinkedList;/**自定义栈使用*add*get*/publicclassMyStack{privateLinkedListlink;publicMyStack(){link=newLinkedList();}publicvoidadd(Objectobj){link.addFirst(obj);}publicObjectget(){returnlink.removeFirst();}publicbooleanisEmpty(){returnlink.isEmpty();}}publicclassMyStackDemo{publicstaticvoidmain(String[]args){//创建集合对象MyStackmy=newMyStack();//添加元素my.add("hello");my.add("world");my.add("java");//获取元素//System.out.println(my.get());while(!my.isEmpty()){System.out.println(my.get());}}}
解决方案
解决方案二:
先进向出嘛。。。所以,add的时候加到头上,get的时候,从头上remove..还有哪里不明白啊?
解决方案三:
具体哪里不明白啊?代码挺清楚的啊。栈只有一个出入口,进出都是从最上面操作啊
解决方案四:
代码写的挺清楚的吧,一个入口进,一个入口出,哪里不明白?
解决方案五:
你去查查api看看addFirst和removeFirst方法干什么用的,就明白为什么符合栈的后进先出了。
解决方案六:
我明白,你想怎样解释
解决方案七:
把名字改一下importjava.util.LinkedList;publicclassMyStack1{privateLinkedListlink;publicMyStack1(){link=newLinkedList();}publicvoidpush(Objectobj){link.addFirst(obj);}publicObjectpop(){returnlink.removeFirst();}publicbooleanisEmpty(){returnlink.isEmpty();}}
解决方案八:
纯粹的计算机程序是挺难理解的可以买一把玩具枪,带压子弹那种的,给子弹编上号,一颗一颗压进去(push),再一颗一颗弹出来(pop),对比着就明白了