如何在番石榴中迭代

Eno*_*ode 5 java guava

我正在努力学习番石榴.但是我不是很成功,因为教程很少.

任何人都可以告诉我如何在Guava中编写这段代码.

import java.util.*;

public class list {
  public static void main(String[] args) {
    List l = new ArrayList();
    for (int i = 1; i < 6; i++) {
      l.add(i);
    }
    Iterator it = l.iterator();
    while (it.hasNext()) {
      System.out.println(it.next());
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Sea*_*oyd 5

即将推出的Guava版本10将使这种初始化更加轻松:

List<Integer> l = Lists.newArrayList(
        Ranges.closed(1, 5).asSet(DiscreteDomains.integers())
);
for (Integer item : l) {
    System.out.println(item);
}
Run Code Online (Sandbox Code Playgroud)

(目前还没有版本10,但您可以下载源代码并自行构建)


Jar*_*ell 3

Guava(据我所知)不提供任何功能来简化您发布的代码。

我可以建议的唯一改进是使用泛型,并使用增强的 for 循环来迭代列表,而不是显式获取和使用迭代器:

import java.util.*;

public class list {
  public static void main(String[] args) {
  List<Integer> l = new ArrayList<Integer>();
  for (int i = 1; i < 6; i++) {
    l.add(i);
  }

  for(Integer i : l) {
    System.out.println(i);
  }

}
Run Code Online (Sandbox Code Playgroud)