iterator相关内容

故障安全迭代器的逻辑是什么?

如果故障安全迭代器创建了一个单独的副本并对其进行了工作,那么它如何知道对原始文件所做的任何更改? public class concurrentHashMap { public static void main(String [] args)throws InterruptedException { MapCheck obj1 = new MapCheck(); Thread t1 ..
发布时间:2016-12-15 21:13:17 Java开发

为什么在java.util.Collection上有一个方法iterator()

为什么在java.util.Collection接口上定义方法iterator(),它已经扩展了定义了这个方法的java.util.Iterable。 任何其他的想法? $ b ...我想要一些向后兼容性,或者有机会在集合层面的方法上写一些JavaDoc。 $ b 解决方案 我一直在做一些更多的调查,发现equals()和hashcode()方法也被覆盖。 显然,唯一的原因可能是添 ..
发布时间:2016-12-15 20:43:55 Java开发

Java获取集合的最后一个元素

我有一个集合,我想获得集合的最后一个元素。 一个解决方案是先使用toArray(),然后返回数组的最后一个元素。是否还有其他更好的? 解决方案 A 集合必须有序的元素集合,因此可能不存在“最后”元素的概念。如果你想要一个有序的,你可以使用 SortedSet ,它有一个 last()方法。或者您可以使用列表并调用 mylist.get(mylist.size() - 1); 如 ..
发布时间:2016-12-15 20:29:46 Java开发

为什么迭代器没有任何重置方法?

为什么? 解决方案 为什么? / p> 因为如果你强制迭代器有一个重置方法,每个迭代器都必须有一个重置方法。这给每个迭代器作者额外的工作。另外一些迭代器是真的很难(或真的很贵)重置,你不希望用户调用reset它们。对文件或流的迭代器是很好的例子。 将迭代器项指针移动到第一个位置的最佳方法是什么? 创建一个新的迭代器。它很少比重置更昂贵。 ..
发布时间:2016-12-15 20:22:53 Java开发

对象的迭代器[]

有没有办法获取数组的迭代器?类似的东西: class MyCollection implements Iterable { String [] items; @Override public Iterator iterator(){ return items.iterator(); //显然,它不编译。 } } ..
发布时间:2016-12-15 20:07:15 Java开发

Java中的迭代器

什么是迭代器和集合? 这两个有什么关系吗? //接口定义 接口迭代器{ boolean hasNext(); Object next(); // note“one-way”traffic void remove(); } //一个例子 public static void main(String [] args){ ArrayList cars = new Arr ..
发布时间:2016-12-15 20:00:50 Java开发

迭代器有.next() - 有没有办法获得上一个元素而不是下一个?

我有一个迭代器,我在一个HashMap,我保存和加载迭代器。 有一种方法可以使用Iterator获取HashMap中的上一个键? (java.util.Iterator) 更新 我将其保存为Red5连接中的属性,然后 另一个更新 我迭代通过键集HashMap 解决方案 不像其他人指出的那样直接,但如果你需要访问一个前面的元素,你可以轻松地保存在一个单独的变量。 ..
发布时间:2016-12-15 19:51:45 Java开发

返回java中iterator()方法的类型

我是Java的新朋友和学习的过程。 我需要一个有效理论支持的问题的答案。 考虑以下行 - Iterator itr = al.iterator 其中 是ArrayList(类)类型的一些集合对象。 我想知道这里的返回类型 al.iterator() 它不一定是原始数据类型,那么它可以是对象,但是因为每个对象属于一个类,所以它是哪个类。文档和书籍 ..
发布时间:2016-12-15 19:48:21 Java开发

是List.iterator()线程安全吗?

在Java中: List.iterator()线程安全,即返回的迭代器反映任何时候的列表的当前状态, $ p 解决方案 List.iterator()的行为没有定义或与不同的List实现一致。 对于ArrayList,LinkedList,如果在迭代它时修改列表,您可能会得到ConcurrentModificationException。 (这不能保证)避免这个问题的方法是使用一个s ..
发布时间:2016-12-15 19:30:42 Java开发

Java迭代器在参数化类型的空集合

在Java中,我需要从我的方法返回一个迭代器。我的数据来自另一个对象,通常可以给我一个迭代器,所以我可以返回,但在某些情况下,底层数据为null。为了一致性,我想返回一个“空”迭代器在这种情况下,所以我的调用者不必测试为null。 我想写一些类似: / p> public Iterator iterator(){ if(underlyingData!= null){ ..
发布时间:2016-12-15 19:26:49 Java开发

面试:为集合集合设计迭代器

在java中设计集合集合的迭代器。迭代器应该隐藏嵌套,允许您遍历属于所有集合的所有元素,就像您使用单个集合一样。 解决方案 这是一个可能的实现。注意,我离开remove()未实现: public class MultiIterator { private Iterator< ;? extends Collecti ..
发布时间:2016-12-15 19:17:47 Java开发

List迭代器的add()方法对迭代器做什么?

我想能够使用 ListIterator 向 ArrayList 插入元素,即使在阅读与 ListIterator 类的add方法相关的文档之后,如果我这样做的话,也会感到困惑。 for(int i = 0; i listIterator.add(list.get(i)); 这个代码片段对我的列表迭代器做了什么,它在哪里移动列表迭代器? 当我运行 ..
发布时间:2016-12-15 18:53:41 Java开发

是“无限”迭代器坏设计?

一般认为不好的做法是提供 Iterator 是“无限”的实现;即的调用hasNext() always(*)return true? 通常我会说“因为调用代码可能会不规则,但是在下面的实现 hasNext()将返回true,除非调用者从列表中删除迭代器初始化的所有元素;即有终止条件。你认为这是合法使用 Iterator 吗?它似乎没有违反合同,虽然我想可以认为它是不直观的。 publ ..
发布时间:2016-12-15 18:41:58 Java开发

对集合的线程安全迭代

我们都知道当使用 Collections.synchronizedXXX (例如 synchronizeSet())时, 但是,这些包装器生成方法的文档声明,当迭代时,我们必须在集合上显式同步 您选择哪个选项来解决这个问题? 我只能看到以下方法: 在调用 iterator()之前克隆集合 一个迭代器是线程安全的集合(我只知道 CopyOnWriteArrayList / ..
发布时间:2016-12-15 18:19:18 Java开发

如何在Java中颠倒列表?

我想在列表上有一个反向列表视图(类似于 List#sublist 在列表中提供子列表视图)。是否有提供此功能的功能? 我不想做任何类型的列表副本或修改列表。 在这种情况下,如果我可以在列表中获得至少一个反向迭代器就足够了。 此外,我知道如何自己实现。 演示实现: code> static可迭代的 iterableReverseList(final L ..
发布时间:2016-12-15 18:17:14 Java开发

Iterator接口在Java中有什么好处?

我刚刚了解了Java Collections Framework如何在链表中实现数据结构。从我的理解,迭代器是一种遍历数据结构中的项目,如列表的方式。为什么使用此接口?为什么方法 hasNext(), next()和 remove c $ c>不直接编码到数据结构实现本身? 从Java网站: link text public interface Iterator An ..
发布时间:2016-12-15 18:17:03 Java开发

Iterator的remove方法如何实际删除对象

我们都知道,在迭代时从集合中移除对象的最安全的“也许只是安全”的方法是首先检索 Iterator ,执行循环并在需要时删除; 迭代器iter = Collection.iterator while(iter.hasNext()){ Object o = iter.next() if(o.equals(what I'm looking for)){ iter。去掉(); } } ..
发布时间:2016-12-15 18:00:32 Java开发

Java枚举和迭代器之间的区别

这两个接口有什么区别? 枚举 比使用 Iterator ? 解决方案 查看Java API规范中的 迭代器 界面中,介绍了 枚举 : 迭代器与 枚举不同方法: 迭代器允许调用者在迭代期间从底层 集合中删除元素, 底线是枚举和 Iterator 将给出连续的元素,但 Iterator 以这样的方式改进,因此方法名称更短,并且具有额外的 remove 方法。这是一个并排的 ..
发布时间:2016-12-15 17:55:16 Java开发