标签: iterator

用于替换Java中的列表成员的迭代器?

嗯... Java Iterator<T>有一个remove()方法,但不是一个replace(T replacement)方法.

是否有一种有效的方法来替换列表中的选定项目?我可以使用for循环来调用get(i)和set(i)这对于ArrayList来说很好,但是会吸引链表.

java iterator list

33
推荐指数
2
解决办法
2万
查看次数

Java:如何从String中获取Iterator <Character>

我需要Iterator<Character>一个String物体.Java中是否有任何可用的功能可以为我提供这个功能,还是我必须编写自己的代码?

java string iterator

33
推荐指数
3
解决办法
4万
查看次数

擦除矢量::从矢量结束

我使用时它是否正常(无效)

 vector<T> v;
 v.erase(v.end());
Run Code Online (Sandbox Code Playgroud)

我想用类似的东西

 v.erase(std::find(...));
Run Code Online (Sandbox Code Playgroud)

我应该ifv.end()还是不是?
C++.comCPPreference上没有关于它的信息

c++ iterator vector erase language-lawyer

33
推荐指数
3
解决办法
1万
查看次数

为什么迭代器需要是可默认构造的

前向,双向随机访问类别的迭代器需要是默认构造的.

为什么这样,为什么输入输出运算符不必是默认可构造的?

c++ iterator stl standard-library language-lawyer

33
推荐指数
1
解决办法
2013
查看次数

zip_longest 始终为左侧列表

我知道该zip函数(它将根据最短列表进行压缩)和zip_longest(它将根据最长列表进行压缩),但是我将如何根据第一个列表进行压缩,无论它是否是最长的?

例如:

Input:  ['a', 'b', 'c'], [1, 2]
Output: [('a', 1), ('b', 2), ('c', None)]
Run Code Online (Sandbox Code Playgroud)

但是也:

Input:  ['a', 'b'], [1, 2, 3]
Output: [('a', 1), ('b', 2)]
Run Code Online (Sandbox Code Playgroud)

这两种功能是否存在于一个函数中?

python iterator

33
推荐指数
4
解决办法
3198
查看次数

收益率回报== IEnumerable和IEnumerator?

yield return用于实现快捷方式IEnumerableIEnumerator

c# ienumerable ienumerator iterator yield

32
推荐指数
1
解决办法
7862
查看次数

什么是收益率突破的用途?

可能重复:
C#中的"yield break;"是什么?

任何人都可以看到使用"break"或"return"无法实现的"yield break"语句.

这句话似乎完全没用.更重要的是,如果没有这个陈述,"收益率返回X"语句可以简化为"收益率X",这更具可读性.

我错过了什么?

c# iterator yield

32
推荐指数
3
解决办法
2万
查看次数

关闭java.util.Iterator

我已经 使用应该使用方法在最后发布的资源实现了自定义java.util.Iteratorclose().该资源可以是java.sql.ResultSet,java.io.InputStream等...

public interface CloseableIterator<T> extends Iterator<T>
  {
  public void close();
  }
Run Code Online (Sandbox Code Playgroud)

使用此迭代器的某些外部库可能不知道必须关闭它.例如:

public boolean isEmpty(Iterable<T> myiterable)
 {
 return myiterable.iterator().hasNext();
 }
Run Code Online (Sandbox Code Playgroud)

在那种情况下,有没有办法关闭这个迭代器?

更新:非常感谢您当前的答案.我会给每个人一个(+1).当hasNext()返回false 时,我已经关闭了Iterator .我的问题是当循环迭代最后一次迭代之前中断时,如我的例子中所示.

java resources iterator

32
推荐指数
5
解决办法
2万
查看次数

readlines()是否在Python 3中返回列表或迭代器?

我读过"潜入Python 3","readlines()方法现在返回一个迭代器,因此它与Python 2中的xreadlines()一样高效".见这里:http://diveintopython3.org/porting-code-to-python-3-with-2to3.html.我不确定这是真的,因为他们在这里没有提到它:http://docs.python.org/release/3.0.1/whatsnew/3.0.html.我该怎么检查?

python iterator readlines python-3.x

32
推荐指数
3
解决办法
3万
查看次数

在Kotlin中,如何在迭代时修改列表的内容

我有一个清单:

val someList = listOf(1, 20, 10, 55, 30, 22, 11, 0, 99)
Run Code Online (Sandbox Code Playgroud)

我想在修改一些值时迭代它.我知道我可以这样做,map但是它会复制一份清单.

val copyOfList = someList.map { if (it <= 20) it + 20 else it }
Run Code Online (Sandbox Code Playgroud)

如果没有副本我该怎么办?

注意: 这个问题是由作者故意编写和回答的(答案问题),因此对于常见问题的Kotlin主题的惯用答案存在于SO中.还要澄清为Kotlin的alphas写的一些非常古老的答案,这些答案对于当前的Kotlin来说是不准确的.

iterator list mutable kotlin

32
推荐指数
1
解决办法
2万
查看次数