超简单的代码~~~import java.util.*;
import static net.mindview.util.Print.*;public class SortedSetDemo {
public static void main(String[] args) {
SortedSet<String> sortedSet = new TreeSet<String>();
Collections.addAll(sortedSet,
"one two three four five six seven eight"
.split(" "));
print(sortedSet);
String low = sortedSet.first();
String high = sortedSet.last();
print(low);
print(high);
Iterator<String> it = sortedSet.iterator();
for(int i = 0; i <= 6; i++) {
if(i == 3) low = it.next(); //这里的 i 为什么会影响到 Iterator方法呢?
if(i == 6) high = it.next();
else it.next();
}
print(low);
print(high);
print(sortedSet.subSet(low, high));
print(sortedSet.headSet(high));
print(sortedSet.tailSet(low));
}
}
import static net.mindview.util.Print.*;public class SortedSetDemo {
public static void main(String[] args) {
SortedSet<String> sortedSet = new TreeSet<String>();
Collections.addAll(sortedSet,
"one two three four five six seven eight"
.split(" "));
print(sortedSet);
String low = sortedSet.first();
String high = sortedSet.last();
print(low);
print(high);
Iterator<String> it = sortedSet.iterator();
for(int i = 0; i <= 6; i++) {
if(i == 3) low = it.next(); //这里的 i 为什么会影响到 Iterator方法呢?
if(i == 6) high = it.next();
else it.next();
}
print(low);
print(high);
print(sortedSet.subSet(low, high));
print(sortedSet.headSet(high));
print(sortedSet.tailSet(low));
}
}
if(i == 6) high = it.next();
else it.next();
的else语句也执行了一次it.next();
if(i == 3) low = it.next(); //这里的 i 为什么会影响到 Iterator方法呢?
if(i == 6) high = it.next();
只要执行了it.next();它的记录就向下移动了一下.
你这样写感觉很别扭
it.next();
每写一个都会执行一次,
else {it.next();}
是不是少写了个else:if(i == 3) low = it.next();
else if(i == 6) high = it.next();
else it.next();