结肠在Java中意味着什么?

Flo*_*tan 10 java

结肠在Java中意味着什么?我有这个:

public static List<String> findAllAnagrams(List<String> words) {
    List<String> result = new LinkedList<String>();
    for(String i : words){
        for (String j : words){
            if (result.contains(i)) {
                break;
            }
            else if (i == j) {

            } else {
                if (areAnagrams(i,j)){
                    result.add(i);
                    System.out.println(result);
                }
            }
        }
    }          
    return result;
}
Run Code Online (Sandbox Code Playgroud)

Abr*_*ham 12

这意味着一件事,它是一个增强的循环.

for (String i: words) 
Run Code Online (Sandbox Code Playgroud)

意思是一样的

for (int i = 0; i < words.length; i++) {
    //
}
Run Code Online (Sandbox Code Playgroud)

约书亚布洛赫在他的值得阅读的有效Java的第46项中说,如下:

在1.5版中引入的for-each循环通过完全隐藏迭代器或索引变量来消除混乱和错误的机会.由此产生的习语同样适用于集合和数组:

迭代集合和数组的首选习惯用法

for (Element e : elements) {
    doSomething(e);
} 
Run Code Online (Sandbox Code Playgroud)

当您看到冒号(:)时,将其读作"in".因此,上面的循环读作"对于元素中的每个元素e".请注意,使用for-each循环没有性能损失,即使对于数组也是如此.实际上,在某些情况下,它可能比普通的for循环提供轻微的性能优势,因为它只计算一次数组索引的限制.虽然您可以手动执行此操作(第45项),但程序员并不总是这样做.


The*_*bit 5

(String i : words)
Run Code Online (Sandbox Code Playgroud)

对于每个项目 words

:将迭代器项和项指示为 i

所以回答 - 它表示每个循环


Jig*_*shi 2

for 每个循环中的冒号是语法的一部分,冒号也与标签一起出现