对Java不熟悉,以下代码让我感到困惑。我试图根据列表进行简单的循环。
List memberships = getMembership(username);
for( Iterator<Integer> single = memberships.iterator(); single.hasNext(); )
{
System.out.println(print_the_current_string_in_list);
}
我有以下问题:
答案 0 :(得分:5)
希望您的列表String
类型而不是Integer
,所以它应该是
List<String> memberships = getMembership(username);
有多种方法可以循环数据,例如:
for(String single : memberships) {
System.out.println(single);
}
另一种方式:
for(int i = 0; i < memberships.size(); i++) {
System.out.println(memberships.get(i));
}
使用Iterator
for(Iterator<String> iterator = membership.iterator(); iterator.hasNext();) {
System.out.println(iterator.next());
}
您可以使用for loop
Iterator
while loop
。
Iterator<String> iterator = membership.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
答案 1 :(得分:2)
尝试使用高级for循环,如下所示:
for(String membership : memberships)
System.out.println(membership);
答案 2 :(得分:2)
您可以使用foreach语句,该语句使用列表已经实现的迭代器。 您还应该在List声明中指定列表将包含的元素的类型,如下所示:
List<String> memberships = getMembership(username);
for( String m : memberships )
{
System.out.println(m);
}
答案 3 :(得分:1)
您需要使用next()
中的Iterator
方法实际迭代成员:
for (Iterator<Integer> single = memberships.iterator (); single.hasNext (); ) {
Integer next = single.next ();
System.out.println (next);
}
此外,您可以为每个构造使用new:
for (Integer current : memberships)
System.out.println (current);
答案 4 :(得分:1)
你还没有遍历列表。使用next()方法。说明为什么它会进入无限循环。
for( Iterator<Integer> single = memberships.iterator(); single.hasNext();{
System.out.println( single.next());
}