Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android队列与堆栈_Java_Android - Fatal编程技术网

Java Android队列与堆栈

Java Android队列与堆栈,java,android,Java,Android,为什么java.util.Stack允许我用一个简单的构造函数在android活动中创建一个新的Stack,如: Stack < ImageView> stack = new Stack< ImageView>(); StackStack=newstack(); 我不能对java.util.Queue做同样的事情?队列不应该有类似的构造函数吗?奇怪的是,堆栈有一个公共构造函数,而在上面我没有看到类似的队列构造函数。。为什么呢?例如,让图像视图元素的队列的方法是什么?

为什么
java.util.Stack
允许我用一个简单的构造函数在android活动中创建一个新的
Stack
,如:

Stack < ImageView> stack = new Stack< ImageView>();
StackStack=newstack();
我不能对
java.util.Queue
做同样的事情?队列不应该有类似的构造函数吗?奇怪的是,
堆栈有一个公共构造函数,而在上面我没有看到类似的队列构造函数。。为什么呢?例如,让
图像视图
元素的
队列
的方法是什么?
谢谢。

这是因为队列只是一个接口。要创建队列对象,您需要一个类,它实现了队列的方法


队列的一些实际实现:

因为队列是一个接口,所以应该使用
链接列表来初始化它:

Queue<String> qe = new LinkedList<String>();

qe.add("b");
qe.add("a");
qe.add("c");

//Traverse queue
Iterator it = qe.iterator();

System.out.println("Initial Size of Queue :" + qe.size());

while(it.hasNext())
{
   String iteratorValue = (String) it.next();
   System.out.println("Queue Next Value :" + iteratorValue);
}
Queue qe=newlinkedlist();
qe.添加(“b”);
qe.添加(“a”);
qe.添加(“c”);
//遍历队列
迭代器it=qe.Iterator();
System.out.println(“队列的初始大小:+qe.Size());
while(it.hasNext())
{
String iteratorValue=(String)it.next();
System.out.println(“队列下一个值:”+iteratorValue);
}