ArrayList<String> date=new ArrayList<String>();
ArrayList<String> time=new ArrayList<String>();
//addition of elements in the list
...
...
for(String x :date,String y: time)
{
System.out.println(x+" "+y);
}
两个对象可以通过单个“for each”循环迭代吗? 我试过上面的代码,我得到了编译错误。有没有语法错误?
答案 0 :(得分:3)
不,这不会起作用。使用for-each循环无法做到这一点;你必须使用显式索引或迭代器进行正常的for循环。
答案 1 :(得分:1)
没有内置功能,但有third-party libraries和免费提供的Java-8代码可以让你这样做:
Stream<String> a = Stream.of(date);
Stream<String> b = Stream.of(time);
List<String> zip = StreamUtils.zip(a, b,
(a, b) -> a + " " + b)
.collect(Collectors.toList());
如果你没有使用Java 8或者不习惯使用流,那么使用带有索引的for
循环或迭代两个迭代器是下一个最接近的东西:
Iterator<String> a = date.iterator();
Iterator<String> b = time.iterator();
while (a.hasNext() && b.hasNext()) {
System.out.println(a.next() + " " + b.next());
}