每个语句的Java

时间:2015-04-14 02:01:06

标签: java vb.net oop

我对VB非常好,我有一个项目,我需要检查一个数组。如果数组中的相同项目存在两次或更多次,则需要将其更改为不存在的项目。现在,我正在上课,他们让我们在这个项目中使用Java。

我想知道Java中每个循环的等效值是多少?我检查了JavaDocs,它只有常规for循环的信息,我没有注意到任何关于a循环的部分。

4 个答案:

答案 0 :(得分:1)

它在Java中比VB更微妙。您可以在此处找到Oracle文档中的官方文档(底部):

Java For Loops

提供的示例是:

// Returns the sum of the elements of a

int sum(int[] a) {
    int result = 0;
    for (int i : a)
        result += i;
    return result;
}

希望有所帮助。注意不要在循环中删除或添加元素,否则会出现并发修改异常。

答案 1 :(得分:0)

 String arr [] = // you decide how this gets initialized

 for (String obj: arr) {
 }

答案 2 :(得分:0)

这称为“迭代集合”。数组可以隐式转换为集合,因此您可以使用“增强的for循环”以相同的方式迭代数组。

List<String> names = new LinkedList<>();

// ... add some names to the collection

for(name:names) {
  System.out.println(name);
}

我不确定VB是否有集合 - 它们是Java的重要组成部分,我建议你研究它们。

当然,这在Java 8中有所改变,尽管你会发现一个集合仍然是forEach()的支柱。

List<String> names = new LinkedList<>();

// ... add some names to the collection

names.forEach(name -> System.out.println(name));

答案 3 :(得分:0)

for each循环(也称为the enhanced for loop)如下:

for (String name : names) {
    // here, the loop will work over each element of 'names',
    // with the variable name with which to access each element
    // being 'name', and output it
    System.out.println(name);
}

正常for loop如下:

for (int i = 0; i < max; i++) {
     // here, i will iterate until max, then the loop will stop.
     // any array access here has to be done manually using i, which increments.
}

如果来自names数组的插入顺序很重要,请继续将对象添加到LinkedHashSet<String>,然后使用for循环或增强for for循环或迭代器,查看名称列表并将每个名称添加到LinkedHashSet。如果传递名称的add方法返回false,则生成新名称并添加。

如果广告订单不重要,请改用HashSet<String>

最后,如果数组很重要(String[] bla = map.toArray(new String[0])),请转换回数组,或输出地图的toString()