问题描述
- java se中next()方法,对返回元素的不理解
-
next(),使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。
(2) 使用next()获得序列中的下一个元素。
但是我还是不太明白```SortedSet sortedset = new TreeSet(Arrays.asList(
"one two three four five six seven eight".split(" ")));
System.out.println(sortedset);
Object
low = sortedset.first(),
high = sortedset.last();
P.rintln("" + low);
P.rintln("" + high);
Iterator it = sortedset.iterator();
for(int i = 0; i < 7; i++){
if(i == 1) low = it.next();
if(i == 6) high = it.next();
else it.next();
}
P.rintln("" + low);
P.rintln("" + high);
P.rintln("" + sortedset);[eight, five, four, one, seven, six, three, two] eight two five two [eight, five, four, one, seven, six, three, two]
当 i == 1 ;当前元素是five,it.next(),后应该是four。这里不太理解了。感觉像返回当前元素一样
解决方案
TreeSet的顺序不是插入的顺序,所以不一定。
解决方案二:
你用的是SortedSet为就是有序的集合,所以会有排序的,你看看排序原则的TreeSet是怎么排序的,可能就是按字母顺序排的。
解决方案三:
重写treeset的排序方法
时间: 2024-12-04 10:56:59