如果运行以下代码,它将打印出3次重复的内容,但是当我在while循环中删除if语句(只是为了查看它将迭代多少次时,它将启动一个无限循环。)>
[hasNext()
该方法实际上如何工作?我认为这将仅重复5次,因为列表中有5个项目。
public class ExerciseOne {
public static void main(String []args){
String []colors = {"MAGENTA","RED","WHITE","BLUE","CYAN"};
List<String> list = new ArrayList<String>();
for(String color : colors)
list.add(color);
String[] removeColors = {"RED","WHITE","BLUE"};
List<String> removeList = new ArrayList<String>();
for(String color : removeColors)
removeList.add(color);
removeColors(list,removeList);
System.out.printf("%n%nArrayList after calling removeColors:%n");
for(String color : list)
{
System.out.printf("%s ",color);
}
}
private static void removeColors(Collection<String> collection1, Collection<String> collection2)
{
Iterator<String> iterator = collection1.iterator();
while(iterator.hasNext()){
if(collection2.contains(iterator.next()))
System.out.println("duplicate");
}
}
}
如果运行下面的代码,它将打印出3次重复的内容,但是当我在while循环中删除if语句时(只是看它将迭代多少次),它将启动一个无限循环。如何...