《JAVA编程思想》中关于迭代器的疑问
java编程思想中关于迭代器的一段 
 SortedSet   sortedSet=new   TreeSet(Arrays.asList( "one   two   three   four   five   six   seven   eight ".split( "    "))); 
 Iterator   it=sortedSet.iterator(); 
 for(int   i=0;i <=6;i++){ 
 if(i==3)   low=it.next(); 
 if(i==6)   high=it.next(); 
 else   it.next(); 
 } 
 System.out.println(sortedSet); 
 System.out.println(low); 
 System.out.println(high) 
 运行结果为: 
 [eight,five,four,one,seven,six,three,two] 
 one 
 two 
 我的问题是low和high的值怎么得到的,为什么他们之间相差三个对象? 
 有哪位大哥能帮我解释一下,小弟感激不尽
------解决方案--------------------因为当i==3是,多运行了一遍 
 if(i==6) high=it.next(); 
 else it.next(); // 这里   
 下面的就是three 
 SortedSet sortedSet=new TreeSet(Arrays.asList( "one two three four five six seven eight ".split( "  "))); 
 Iterator it=sortedSet.iterator(); 
 for(int i=0;i <=6;i++){ 
 if(i==3) low=it.next(); 
 else if(i==6) high=it.next(); 
 else it.next(); 
 } 
 System.out.println(sortedSet); 
 System.out.println(low); 
 System.out.println(high)