概述
菜鸟笔记,java新手。
remove()函数删除的是迭代器所指向位置左边的对象,因为要删除某一对象,需要先用next()函数访问,访问之后迭代器的位置就更新了,因此调用remove()的时候删除的是左边的对象,为非hasnext()时的右边的对象。
class boy{
private String name;
@Override
public String toString() {
return "i am a boy";
}
public boy(String name){
this.name=name;
}
public String get_name(){
return name;
}
}
public class testtt2 {
public enum mycolor{red,blue,green};
public static void main(String[] args) {
Collection<boy> s=new HashSet<boy>();
s.add(new boy("jack"));
s.add(new boy("nio"));
s.add(new boy("tom"));
for(Iterator it=s.iterator();it.hasNext();){
boy b=(boy)it.next(); //在做判断之后迭代器已经更新了,因此删除的是迭代器左边的元素。
if(b.get_name()=="nio")
it.remove();
}
for(Iterator it=s.iterator();it.hasNext();){
boy b=(boy)it.next();
System.out.println(b.get_name());//果然,被删除的是nio而不是其他的,因为HashSet是没有顺序的因此不清楚下一个会是谁。
}
}
最后
以上就是老迟到店员为你收集整理的JAVA Iterarot接口中remove()函数的使用的全部内容,希望文章能够帮你解决JAVA Iterarot接口中remove()函数的使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复