首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

《JAVA编程思想》中关于迭代器的疑问解决方法

2012-02-16 
《JAVA编程思想》中关于迭代器的疑问java编程思想中关于迭代器的一段SortedSetsortedSetnewTreeSet(Arrays.

《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)

热点排行