黑马程序员技术交流社区
标题:
求助!!!哪位帮我解析一下,实在看不懂
[打印本页]
作者:
mysouffle
时间:
2014-8-17 21:39
标题:
求助!!!哪位帮我解析一下,实在看不懂
请用LinkedList模拟栈数据结构的集合,并使用。
package cn.itcast_03;
import java.util.
LinkedList
;
/*
* 自定义栈使用
* add
* get
*/
public class MyStack {
private LinkedList link;
public MyStack() {
link = new LinkedList();
}
public void add(Object obj) {
link.addFirst(obj);
}
public Object get() {
return link.removeFirst();
}
public boolean isEmpty() {
return link.isEmpty();
}
}
public class MyStackDemo {
public static void main(String[] args) {
// 创建集合对象
MyStack my = new MyStack();
// 添加元素
my.add("hello");
my.add("world");
my.add("java");
// 获取元素
// System.out.println(my.get());
while (!my.isEmpty()) {
System.out.println(my.get());
}
}
}
作者:
hejinzhong
时间:
2014-8-17 22:01
这个就是首先了解 栈(这种数据结构)的特点,然后知道 linkList中 addFirst/addLast 以及removeFirst/removeLast这几个特有方法的使用。
作者:
ssy1939
时间:
2014-8-17 22:06
堆栈结构是先进后出,你那两个都用添加和移除都是 frist 是先进先出的说
作者:
ximi
时间:
2014-8-17 22:26
你可以想象是在摘水果,你摘的第一水果是在篮子最下面吧,你买摘一个就会一个一个压着,这就是压栈,你拿出你的苹果,是不是先从最上面的拿,就是出栈。先进后出
作者:
masai158
时间:
2014-8-17 23:07
//ArratList 模拟堆栈 和 列队
public class Test020 {
public static void main(String[] args)
{
List<Integer> list = new ArrayList<Integer>();
list.add(21);
list.add(32);
list.add(54);
print1(list);
System.out.println("-----------");
print2(list);
}
public static void print1(List<Integer> list) //堆栈,先进后出
{
for(int i=list.size()-1; i>=0; i--)
{
System.out.println(list.get(i));
}
}
public static void print2(List<Integer> list) //队列,先进先出
{
for(int i=0; i<list.size(); i++ )
{
System.out.println(list.get(i));
}
}
}
我还是发一下。虽然不能帮助你
复制代码
作者:
mysouffle
时间:
2014-8-17 23:32
谢谢大家,有待慢慢理解……
作者:
毕业生
时间:
2014-8-18 00:12
本帖最后由 毕业生 于 2014-8-18 00:18 编辑
mysouffle 发表于 2014-8-17 23:32
谢谢大家,有待慢慢理解……
public class Stack {
//声明一个LinkedList引用
private LinkedList list;
public Stack() {
//当调用构造方法的时候,创建LinkedList对象
list = new LinkedList();
}
//模拟进栈的方法
public void in(Object obj) {
//向集合中添加元素
list.addLast(obj);
}
//模拟出栈的方法
public Object out() {
//从集合删除元素
return list.removeLast();
}
//模拟集合中是否有元素的方法
public boolean isEmpty() {
//判断集合是否为空
return list.isEmpty();
}
}
妹姊好萌,43期Android,有事不懂联系哈
作者:
恣意的豆腐
时间:
2014-8-18 07:57
要先搞清栈神马,他的原理类似于弹夹,最后压进去的先弹出来
作者:
mysouffle
时间:
2014-8-18 09:16
恣意的豆腐 发表于 2014-8-18 07:57
要先搞清栈神马,他的原理类似于弹夹,最后压进去的先弹出来
原理明白,就是进栈压栈,获取的时候先进后出,但是就是不知道代码怎么写出来的,需要代码的解析
作者:
mysouffle
时间:
2014-8-18 09:20
还是不能理解,有没有哪位能清楚的解析一下,我发上去的代码的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2