iterator-java se中next()方法,对返回元素的不理解

问题描述

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

iterator-java se中next()方法,对返回元素的不理解的相关文章

Java模拟HTTP请求如何获取请求页面中ajax方法的返回值

问题描述 Java模拟HTTP请求如何获取请求页面中ajax方法的返回值 我有一个AAA.JSP页面是通过加载百度的地图API的JS文件,再调用其中的ajax请求方法获取地理坐标.地理坐标在该ajax方法的返回参数中的.我现在需要在服务器端获取地理位置信息,因此我通过java程序模拟HTTP请求,去访问AAA.JSP,但因为ajax是异步的,模拟程序访问该页面的时候,其中的ajax方法还没执行结束,服务器就返回了该页面的静态HTML内容,导致我无法获取地理位置信息.请问如何让服务器端在ajax执

java中read方法的返回值

问题描述 java中read方法的返回值 在ByteArrayInputStream中返回"下一个数据字节,如果到达流末尾,则返回 -1".还是不太理解,能详细的说一下吗? 下一个数据字节指的是什么? 这和FileInputStream的返回值一样吗? 解决方案 首先,InputStream是字节读取的,每次读取文件一个字节的数据,并将这个字节的数据转换Java的byte类型的一个整数返回,如果为-1说明读取不到数据了,即到达文件尾部了.read操作就是逐字节地读取数据,所以需要循环操

java-怎么获取一个JAVA类中各个方法的代码块

问题描述 怎么获取一个JAVA类中各个方法的代码块 特殊需求:获取一个JAVA类中各个方法的代码块来查找方法中是否包含某个关键字,现在通过发射只能拿到方法的属性和注释,有没有API或者其他方法,求告知,3Q 没金币了..对不起大家 PS:获取本地源代码的,不是运行时的class 解决方案 myeclipse中调试调用带有静态代码块的类时出现java.lang.NoClassDefFoundError的处理方法在DWR中实现直接获取一个JAVA类的返回值的两种方法java代码获取当前类类名.方法名

怎么实现javascript中调用java类中的方法

问题描述 body中部分代码如:<center><font size="4" color="red">吊灯</font> <input type="button" id="diaodeng" value=<%=state[0]%> onclick="dianji1()"><br><br><br><br>

ios-代码中的方法一直返回FALSE

问题描述 代码中的方法一直返回FALSE - (BOOL)checkForDigits { NSString *editableExpression = self.expression.text; for (int i = 0; i < editableExpression.length; i++){ char charAtPosition = [editableExpression characterAtIndex:i]; for (int c = 0; c < 10; c++ ){ cha

java接口中的方法和变量为啥都必须是public?

问题描述 java接口中的方法和变量为啥都必须是public? 假如这个接口A是public 的,那么其他包里的类B就可以实现这个接口A, 实现本身就隐含的包括了继承,那么为啥A中的方法不能是protected呢?因为类B可以覆盖A中的protected方法啊. 请各位帮忙分析下,谢谢! 解决方案 http://www.cnblogs.com/dolphin0520/p/3811437.html 解决方案二: 假如你引用第三方的jar 呢? 解决方案三: public也可以覆盖.既然是接口,那么

在 java se 中使用mybatis 用fatjar打包后出现错误、

问题描述 在 java se 中使用mybatis 用fatjar打包后出现错误. 在开发环境可以顺利运行,用fatjar打包后出现错误, Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.i

java swing中drawline方法,界面最小化之后线消失的问题

问题描述 java swing中drawline方法,界面最小化之后线消失的问题 我通过Graphics g=getGraphics(); g.setColor(Color.RED); g.drawLine(0,0,100,100); 画线,在点击某个按钮的时候在面板之中动态的画线,但是这样界面最小化之后,刚才画的线就不见了,应该怎么办呢? 解决方案 你的drawLine应该是在按钮响应函数里面写的吧.这时候绘出的图像会在系统重绘时抹去.比如你最小化以后再还原,系统窗口会自动重绘.系统会首先清空

java-RandomAccessFile中read()方法的返回值

问题描述 RandomAccessFile中read()方法的返回值 RandomAccessFile raf= new RandomAccessFile("D:/fis2.txt","rw"); raf.write(100); raf.seek(0); int a=raf.read(); System.out.println(a);//输出 100 raf.close(); 之前所了解到的知识是: read()方法返回值是所读取到byte的个数 以上的返回值如何理