Java 通过数据结构(队列、堆栈、包)进行迭代
从我对对象的理解来看,似乎我们刚刚创建了一个对象,即数据类型事务(类型参数)的队列,集合是对该对象的引用。对吗Java 通过数据结构(队列、堆栈、包)进行迭代,java,generics,data-structures,queue,Java,Generics,Data Structures,Queue,从我对对象的理解来看,似乎我们刚刚创建了一个对象,即数据类型事务(类型参数)的队列,集合是对该对象的引用。对吗 第二段代码让我很困惑。我们正在循环打印队列中的内容,但我不确定我是否理解这是如何工作的。集合指向事务类型的队列。看起来我们正在为对象事务创建一个引用t,并对引用集合进行处理。非常混乱。这是java在处理迭代器时使用的语法糖。队列实现了Iterable接口。for循环请求集合的迭代器,并知道如何处理它 对于实现Iterable的每个类,您都可以使用这种语法。这是java处理迭代器的语法优
第二段代码让我很困惑。我们正在循环打印队列中的内容,但我不确定我是否理解这是如何工作的。集合指向事务类型的队列。看起来我们正在为对象事务创建一个引用t,并对引用集合进行处理。非常混乱。这是java在处理迭代器时使用的语法糖。队列实现了
Iterable
接口。for循环请求集合的迭代器,并知道如何处理它
对于实现Iterable的每个类,您都可以使用这种语法。这是java处理迭代器的语法优势。队列实现了Iterable
接口。for循环请求集合的迭代器,并知道如何处理它
对于实现Iterable
的每个类,您都可以使用此语法。这里发生的事情是队列
有一个迭代器()
方法。当您将它馈送到foreach循环时,就像您在这里所做的那样,您正在调用一个迭代器对象。接下来,for循环开始遍历该迭代器中的对象 这里发生的是队列
有一个迭代器()
方法。当您将它馈送到foreach循环时,就像您在这里所做的那样,您正在调用一个迭代器对象。接下来,for循环开始遍历该迭代器中的对象 在最终的类文件中,“for each”符号实际上被替换为:
for(Transaction t: collection)
{ StdOut.println(t); }
这只是获得一个迭代器,并将t
设置为每次通过循环时迭代器的下一个值。这可以通过实现Iterable
的任何对象来实现,在最终的类文件中,“for each”符号实际上被替换为:
for(Transaction t: collection)
{ StdOut.println(t); }
这只是获得一个迭代器,并将t
设置为每次通过循环时迭代器的下一个值。这可以通过实现Iterable
ForFor(事务t:collection)
读取:
对于集合中的每个事务
或
对于交易t超过收集。对于对于(交易t:收集)
读取:
对于集合中的每个事务
或
有关交易记录的详细信息,请参阅。队列是Java集合框架的一部分,因此实现了Iterable接口。for-each快捷方式使用该事实,并使用队列生成的迭代器对象对所有元素进行迭代。
这相当于:
for(Iterator i = collection.iterator(); iterator.hasNext(); Transaction t = iterator.next())
Iterator I=collection.Iterator();
对于(;;I.hasNext()){
事务t=I.next();
标准品println(t);
}
请参阅。队列是Java集合框架的一部分,因此实现了Iterable接口。for-each快捷方式使用该事实,并使用队列生成的迭代器对象对所有元素进行迭代。
这相当于:
for(Iterator i = collection.iterator(); iterator.hasNext(); Transaction t = iterator.next())
Iterator I=collection.Iterator();
对于(;;I.hasNext()){
事务t=I.next();
标准品println(t);
}
我认为这是最好的解释我认为这是最好的解释