简单循环不在String Array上停止

Dan*_*sen 0 java loops for-loop list

作为Java新手,以下代码让我感到困惑.我正在尝试基于列表进行简单的循环.

List memberships = getMembership(username);
for( Iterator<Integer> single = memberships.iterator(); single.hasNext(); ) 
{
    System.out.println(print_the_current_string_in_list);
} 
Run Code Online (Sandbox Code Playgroud)

我有以下问题:

  • 尽管我在列表中只有三个项目,但循环永远不会停止.为什么是这样?
  • 如何在列表中输出当前字符串?

gtg*_*ola 5

希望你的列表是否类型,String而不是Integer它应该是

List<String> memberships = getMembership(username);
Run Code Online (Sandbox Code Playgroud)

有多种方法可以循环数据,例如:

for(String single : memberships) {
    System.out.println(single);
}
Run Code Online (Sandbox Code Playgroud)

其他方式:

for(int i = 0; i < memberships.size(); i++) {
   System.out.println(memberships.get(i));
}
Run Code Online (Sandbox Code Playgroud)

使用 Iterator

for(Iterator<String> iterator = membership.iterator(); iterator.hasNext();) {
    System.out.println(iterator.next());
}
Run Code Online (Sandbox Code Playgroud)

而不是使用for loop你可以使用Iterator一个while loop

Iterator<String> iterator = membership.iterator();
while(iterator.hasNext()) {
    System.out.println(iterator.next());
}
Run Code Online (Sandbox Code Playgroud)