很多朋友对于如何使用C++中的iterator和c 迭代器不建议使用不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
本文目录
如何使用C++中的iterator
Java中的Iterator功能比较简单并且只能单向移动:使用方法iterator()要求容器返回一个Iterator。
第一次调用Iterator的next()方法时它返回序列的第一个元素。使用next()获得序列中的下一个元素。
使用hasNext()检查序列中是否还有元素。
使用remove()将迭代器新返回的元素删除。这里举一个例子Collectionc=map.values();Iteratorit=c.iterator();for(;it.hasNext();){System.out.println(it.next());}
default关键字只能在循环语句中使用
1.不是只能在循环语句中使用。2.默认情况下,default关键字通常用于switch语句中,用于处理未匹配到任何case的情况。但是它也可以在其他地方使用,比如在异常处理中的catch块中,用于处理未捕获的异常。3.此外,default关键字还可以用于定义默认值或默认行为,比如在方法的参数或返回值中设置默认值,或者在接口的默认方法中定义默认实现。因此,default关键字的使用范围并不仅限于循环语句,可以根据具体的语境进行灵活运用。
如何迭代hashmap
importjava.util.Collection;
importjava.util.HashMap;
importjava.util.Iterator;
importjava.util.Map;
importjava.util.Set;/**
*
*@authorAdministrator
*/
publicclassStuMapTest{publicstaticvoidmain(String[]args){
Map<String,Student>map=newHashMap<String,Student>();
Students1=newStudent("001","吕布",30);
Students2=newStudent("002","赵云",25);
Students3=newStudent("003","典韦",33);
map.put("1",s1);
map.put("2",s2);
map.put("3",s3);
byValues(map);
keySet(map);
entrySet(map);
}
//entrySet方法遍历
privatestaticvoidentrySet(Map<String,Student>map){
Set<Map.Entry<String,Student>>set=map.entrySet();
for(Iterator<Map.Entry<String,Student>>i=set.iterator();i.hasNext();){
System.out.println(i.next().getValue());}
}
//keySet方法遍历
privatestaticvoidkeySet(Map<String,Student>map){
Set<String>set=map.keySet();
for(Iterator<String>i=set.iterator();i.hasNext();){
System.out.println(map.get(i.next()));
}
}//values方法遍历
privatestaticvoidbyValues(Map<String,Student>map){
Collectionc=map.values();
for(Iterator<Student>i=c.iterator();i.hasNext();){
System.out.println(i.next());}
}
}//定义一个student类
classStudent{
privateStringid;
privateStringname;
privateintage;publicStudent(Stringid,Stringname,intage){
this.id=id;
this.name=name;
this.age=age;
}@Override
publicStringtoString(){
returnnewStringBuilder().append(id).append("").append(name).append("").append(age).toString();
}
}
OK,本文到此结束,希望对大家有所帮助。