问题标签 [listiterator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 迭代器取消引用然后是“。” 运营商与。“->”运算符
我得到了一些具有以下结构的列表/迭代器的 C++ 代码。
然后代码以the_iter
这种方式访问 x 和 y:
我想将这些更改为更具可读性的版本:
从我的 C 角度来看,这对于指针解引用完全没问题。迭代器也是这样吗?我的同事有什么理由会使用(*pointer).
而不是p->
c++ - 如何使用迭代器有条件地从列表中删除元素?
问题:
我正在编写一个简单的文件管理器应用程序。在这个程序中,我有一个“目录”类:
和目录对象的链表:
我想"rm -r directorypath"
在linux中实现shell命令,所以我需要浏览列表并删除“directorypath”目录及其所有子目录。问题是我不知道如何浏览链接列表并删除其父目录为“directorypath”的所有目录。我试过这两种方法:
方法一:
此方法遇到运行时错误,因为它在第一次删除后无法再访问列表。
方法二:
即使在删除后,此方法也可以完美地访问所有元素,但我不知道如何使用迭代器检查这个 if 条件it
:
java - ListIterator last hasNext() 有些东西不明白
假设我运行这段代码,它向我展示了这个:1 10 2 10 3 10
我不明白为什么最后一个hasNext()
发生甚至认为我们应该在列表的末尾(在我的理解中)。关于元素 3。
首先,迭代器在 1 上。hasNext()
returntrue
因为list后面有 2。所以我进入循环,it.next()
返回我 1 并将光标设置为 2。当我添加 10 时,它发生在光标位置,因此在 1 和 2 之间。然后,it.next()
返回我 2 并将光标设置为 3。然后我添加 10在 2 和 3 之间。但是此时,我没有 3 的下一个,那么为什么要hasNext()
返回 true,在列表的最后一个位置添加 12?
java - 类数组列表的迭代器
我是 Java 新手,所以如果我的问题看起来很愚蠢,请多多包涵。
我正在学习收藏,我编写了一个程序来存储学生姓名 id 和标记。我将所有这些存储在一个 Arraylist 中。使用 for 循环我可以在我的程序中打印值。但是我不知道如何使用迭代器来做到这一点。我的代码是这样的。
学生.Java
College.Java 对我来说是主要课程
在这种情况下,我得到了正确的输出。
如果我删除 for 循环并用迭代器替换。我收到一些错误,这就是说Object can not be converted as Student
这是我的代码
请指导我这里有什么问题以及如何纠正。
java - 尝试从另一个列表中删除项目列表时出现 UnsupportedOperationException
我在下面进行了编码,我不知道出了什么问题,但是 validDatesIterator.remove() 给了我 UnsupportedOperationException 异常。使用 java 1.6
此外,当我调试有效日期时(curValue 最初它给出 27,而不是 26)从元素 27 开始,而不是 26。
可能是一个重复的问题,但搜索了很多,dint find kind of this。请帮忙。
java - 为什么java API阻止我们一起调用add和remove?
根据Java API
-
IllegalStateException - 如果在最后一次调用 next 或 previous 之后既没有调用 next 也没有调用 previous,或者 remove 或 add 没有被调用
remove()
- 从列表中删除由 next() 或 previous() 返回的最后一个元素(可选操作)。每次调用下一个或上一个时,此调用只能进行一次。只有在最后一次调用 next 或 previous 之后没有调用 add(E) 时,才能执行此操作。
因为每次我们一起调用时add
,remove
它都应该删除最后一个添加的元素,add
原因是这个原因IllegalStateException
例如在我的代码中-
next()
之前每次打电话remove()
- 也
remove()
不会被调用两次而不调用next()
那么为什么有java.lang.IllegalStateException
关于召唤add
和remove
在一起。
我的Java代码是-
在调用next()
迭代器之后是在下一个元素。
当我们通过add()
迭代器添加元素时,在添加的最后一个元素处向前移动
那为什么要java.lang.IllegalStateException
打电话remove()
java - 如何使用迭代器进行替换和计数
我无法弄清楚如何使用迭代器替换元素并计算被替换元素的数量。这是我到目前为止的代码:
我已经使用迭代器打印出列表中的元素,但现在我必须使用迭代器来替换并返回替换的数量。在这种情况下,我想用“X”替换“B”并计算“X”的数量。我假设我想将迭代器放在泛型方法中,但我真的不知道该往哪个方向前进......
python - 脚本执行正常,但未写入指定目录中的任何文件
我正在尝试编写一个脚本,它将遍历指定的目录,并使用新字符串写入任何 .txt 文件。
阅读列维茨基的解释后编辑
脚本执行,但是我得到“目录为空或无法打开文件”异常。
提前感谢您的任何意见。
python-2.7 - 脚本无法同时打开和附加多个文件
所以试图完成一个非常简单的脚本,这给了我难以置信的困难。它应该遍历指定的目录并打开其中的所有文本文件,并将它们全部附加相同的指定字符串。
问题是它根本没有对文件做任何事情。使用 print 测试我的逻辑,我将第 10 行和第 11 行替换为print f
(写入和关闭函数),并获得以下输出:
所以我认为它在 f 变量中存储了 write 函数的正确文件,但是我不熟悉 Mac 如何处理 DS_STORE 或它在临时位置跟踪中扮演的确切角色。
这是实际的脚本:
以及执行后终端中的确切返回:
然而,没有写入提供目录中的 .txt 文件。
c++ - How to compare (the order) of two bidirectional iterators?
I was wondering if there is a build-in way in C++ to compare the order of two bidirectional iterators. For example, I have a Sum function to calculate the sum between 2 iterators in the same list:
Then:
Sum(my_list.begin(),my_list.end());
is fine, but Sum(my_list.end(),my_list.begin());
will cause runtime error.
I was thinking puttingif (Start>End) return 0;
to prevent the error. But it seems I cannot compare the iterators like this.