标签: iteration

启动迭代Python列表的索引

在Python中迭代列表时设置起始索引的最佳方法是什么.例如,我有一个星期几的列表 - 星期日,星期一,星期二,......星期六 - 但我想从星期一开始迭代列表.这样做的最佳做法是什么?

python iteration

73
推荐指数
7
解决办法
13万
查看次数

Java HashMap的keySet()迭代顺序是否一致?

我知道从M​​ap的keySet()方法返回的Set不保证任何特定的顺序.

我的问题是,它是否保证多次迭代的相同顺序.例如

Map<K,V> map = getMap();

for( K k : map.keySet() )
{
}

...

for( K k : map.keySet() )
{
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,假设映射修改,将迭代在按键组处于相同的顺序.使用Sun的jdk15它以相同的顺序迭代,但在我依赖于这种行为之前,我想知道所有JDK是否都会这样做.

编辑

我从答案中看到我不能依赖它.太糟糕了.我希望不必为了保证我的订购而建立一些新的收藏品.我的代码需要迭代,执行一些逻辑,然后使用相同的顺序再次迭代.我将从keySet创建一个新的ArrayList,这将保证顺序.

java iteration hashmap hashset

71
推荐指数
5
解决办法
6万
查看次数

Java:迭代org.w3c.dom.Document中所有元素的最有效方法?

迭代Java中所有DOM元素的最有效方法是什么?

这样的东西,但对于当前的每个DOM元素org.w3c.dom.Document

for(Node childNode = node.getFirstChild(); childNode!=null;){
    Node nextChild = childNode.getNextSibling();
    // Do something with childNode, including move or delete...
    childNode = nextChild;
}
Run Code Online (Sandbox Code Playgroud)

java xml iteration dom

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

在Java 8中迭代枚举

是否可以Enumeration使用Lambda Expression 进行迭代?以下代码片段的Lambda表示形式是什么:

Enumeration<NetworkInterface> nets = NetworkInterface.getNetworkInterfaces();

while (nets.hasMoreElements()) {
    NetworkInterface networkInterface = nets.nextElement();

}
Run Code Online (Sandbox Code Playgroud)

我没有在其中找到任何流.

java iteration lambda enumeration java-8

70
推荐指数
7
解决办法
5万
查看次数

它是"迭代"还是"迭代"某些东西?

想一想.是否有语义上的区别,还是我们可以自由选择?

编辑我接受了@roygbivs的答案,因为大多数答案都表明这是一个品味选择的问题,而且它并没有真正改变其含义.在这种情况下,由于通过结束根本不携带任何信息(在该特定上下文中),因此可以省略它们.

iteration terminology

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

如何迭代数组并删除JavaScript中的元素

我有一系列元素,需要从中删除某些元素.问题是JavaScript似乎没有为每个循环而且如果我使用for循环我遇到问题它基本上试图检查超出数组边界的元素,或者因为索引改变而缺少数组中的元素.让我告诉你我的意思:

var elements = [1, 5, 5, 3, 5, 2, 4];
for(var i = 0; i < elements.length; i++){
    if(elements[i] == 5){
        elements.splice(i, 1);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是当元素[1]被移除时,元素[2]变成元素[1].所以第一个问题是从未检查过某些元素.另一个问题是.length更改,如果我硬编码边界,​​那么我可能会尝试检查超出数组边界的元素.那么做这件非常简单的事情的最佳方法是什么?

javascript iteration bounds

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

std :: queue iteration

我需要迭代std::queue.www.cplusplus.com说:

默认情况下,如果没有为特定队列类指定容器类,则使用标准容器类模板deque.

那么我可以以某种方式到达队列的底层deque并迭代它吗?

c++ iteration queue c++-standard-library

67
推荐指数
5
解决办法
12万
查看次数

同时迭代两个数组

我是Swift的新手.我一直在做Java编程.我有一个在Swift中编码的场景.

以下代码使用Java.我需要在Swift中为以下场景编写代码

// With String array - strArr1
String strArr1[] = {"Some1","Some2"}

String strArr2[] = {"Somethingelse1","Somethingelse2"}

for( int i=0;i< strArr1.length;i++){
    System.out.println(strArr1[i] + " - "+ strArr2[i]);
}
Run Code Online (Sandbox Code Playgroud)

我在swift中有几个数组

var strArr1: [String] = ["Some1","Some2"]
var strArr2: [String] = ["Somethingelse1","Somethingelse2"]

for data in strArr1{
    println(data)
}

for data in strArr2{
    println(data)
}
// I need to loop over in single for loop based on index.
Run Code Online (Sandbox Code Playgroud)

您能否根据索引提供有关循环语法的帮助

arrays iteration swift

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

Javascript设置与阵列性能

这可能是因为集合对Javascript来说相对较新,但是我无法在StackO或其他任何地方找到一篇文章来讨论Javascript中两者之间的性能差异.那么,两者之间在性能方面有什么不同?具体来说,当涉及删除,添加和迭代时.

javascript arrays iteration performance set

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

迭代数组时如何使用Array#delete?

我有一个数组,我想迭代并删除一些元素.这不起作用:

a = [1, 2, 3, 4, 5]
a.each do |x|
  next if x < 3
  a.delete x
  # do something with x
end
a #=> [1, 2, 4]
Run Code Online (Sandbox Code Playgroud)

我想a成为[1, 2].我怎么能绕过这个?

ruby arrays iteration

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