草庐IT

col_iterator

全部标签

java - Java中的Iterator接口(interface)有什么好处?

我刚刚了解了Java集合框架如何在链表中实现数据结构。据我了解,Iterators是一种遍历数据结构(如列表)中的项目的方式。为什么要使用这个接口(interface)?为什么hasNext()、next()和remove()方法不直接编码到数据结构实现本身?来自Java网站:linktextpublicinterfaceIteratorAniteratoroveracollection.IteratortakestheplaceofEnumerationintheJavacollectionsframework.Iteratorsdifferfromenumerationsintwo

java - Java中的Iterator接口(interface)有什么好处?

我刚刚了解了Java集合框架如何在链表中实现数据结构。据我了解,Iterators是一种遍历数据结构(如列表)中的项目的方式。为什么要使用这个接口(interface)?为什么hasNext()、next()和remove()方法不直接编码到数据结构实现本身?来自Java网站:linktextpublicinterfaceIteratorAniteratoroveracollection.IteratortakestheplaceofEnumerationintheJavacollectionsframework.Iteratorsdifferfromenumerationsintwo

java - 为什么没有 getFirst(iterable) 方法?

Iterables为getLast提供两种方法publicstaticTgetLast(Iterableiterable);publicstaticTgetLast(Iterableiterable,@NullableTdefaultValue);但只有一个用于getFirstpublicstaticTgetFirst(Iterableiterable,@NullableTdefaultValue);是否有任何破坏对称性的设计/实现原因? 最佳答案 我认为重点是没有理由使用getFirst(iterable),因为这可以通过iter

java - 为什么没有 getFirst(iterable) 方法?

Iterables为getLast提供两种方法publicstaticTgetLast(Iterableiterable);publicstaticTgetLast(Iterableiterable,@NullableTdefaultValue);但只有一个用于getFirstpublicstaticTgetFirst(Iterableiterable,@NullableTdefaultValue);是否有任何破坏对称性的设计/实现原因? 最佳答案 我认为重点是没有理由使用getFirst(iterable),因为这可以通过iter

Java:为什么 Collection.addAll 不能接受 Iterables?

我想知道为什么Collection.addAll()方法只接受其他Collection而不是Iterable。这是为什么呢?对于Iterables有什么类似的方法吗? 最佳答案 大概是因为Collection接口(interface)是在Java1.2中引入的,而Iterable只出现在1.5中,更改接口(interface)会破坏所有现有实现。 关于Java:为什么Collection.addAll不能接受Iterables?,我们在StackOverflow上找到一个类似的问题:

Java:为什么 Collection.addAll 不能接受 Iterables?

我想知道为什么Collection.addAll()方法只接受其他Collection而不是Iterable。这是为什么呢?对于Iterables有什么类似的方法吗? 最佳答案 大概是因为Collection接口(interface)是在Java1.2中引入的,而Iterable只出现在1.5中,更改接口(interface)会破坏所有现有实现。 关于Java:为什么Collection.addAll不能接受Iterables?,我们在StackOverflow上找到一个类似的问题:

java - 在 Java 8 中,为什么没有给数组提供 Iterable 的 forEach 方法?

我一定是错过了什么。在Java5中,"for-eachloop"statement(alsocalledtheenhancedforloop)被介绍了。似乎它主要是为了迭代Collections而引入的。任何实现Iterable的集合(或容器)类接口(interface)可以使用“for-each循环”进行迭代。也许由于历史原因,Java数组没有实现Iterable接口(interface)。但由于数组无处不在,javac将接受在数组上使用for-each循环(生成相当于传统for循环的字节码)。在Java8中,forEachmethod被添加到Iterable接口(interface

java - 在 Java 8 中,为什么没有给数组提供 Iterable 的 forEach 方法?

我一定是错过了什么。在Java5中,"for-eachloop"statement(alsocalledtheenhancedforloop)被介绍了。似乎它主要是为了迭代Collections而引入的。任何实现Iterable的集合(或容器)类接口(interface)可以使用“for-each循环”进行迭代。也许由于历史原因,Java数组没有实现Iterable接口(interface)。但由于数组无处不在,javac将接受在数组上使用for-each循环(生成相当于传统for循环的字节码)。在Java8中,forEachmethod被添加到Iterable接口(interface

java - 为什么Java中的String类没有实现Iterable?

许多Java框架类实现Iterable,但String没有。迭代String中的字符是有意义的,就像可以迭代常规数组中的项目一样。String没有实现Iterable有什么原因吗? 最佳答案 确实没有一个好的答案。Java中的迭代器特别适用于离散项(对象)的集合。您会认为实现CharSequence的String应该是离散字符的“集合”。相反,它被视为恰好由字符组成的单个实体。在Java中,迭代器似乎只真正应用于集合而不是字符串。没有理由这样做(据我所知,您可能必须与Gosling或API编写者交谈);这似乎是惯例或设计决定。事实上

java - 为什么Java中的String类没有实现Iterable?

许多Java框架类实现Iterable,但String没有。迭代String中的字符是有意义的,就像可以迭代常规数组中的项目一样。String没有实现Iterable有什么原因吗? 最佳答案 确实没有一个好的答案。Java中的迭代器特别适用于离散项(对象)的集合。您会认为实现CharSequence的String应该是离散字符的“集合”。相反,它被视为恰好由字符组成的单个实体。在Java中,迭代器似乎只真正应用于集合而不是字符串。没有理由这样做(据我所知,您可能必须与Gosling或API编写者交谈);这似乎是惯例或设计决定。事实上