java iterator 嵌套_Java中的集合嵌套

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;public classDemo06 {public static voidmain(String[] args) {//大 Map

HashMap> oracle=new HashMap>();//小Map

HashMap java1018= new HashMap();

HashMap java1227= new HashMap();//封装小的

java1018.put(new Person("吉吉国王",18), "山东淄博");

java1018.put(new Person("熊大",18), "山东济南");

java1227.put(new Person("熊二",28), "山东济南");

java1227.put(new Person("光头强",20), "山东淄博");//封装大的

oracle.put("java1018", java1018);

oracle.put("java1227", java1227);//entrySet+Iterator//先获取大Map的结婚证对象Set集合

Set>> bigentrys=oracle.entrySet();//2.遍历结婚证集合到每一个结婚证对象//获取迭代器对象

Iterator>> it=bigentrys.iterator();while(it.hasNext()){//获取每一个大结婚证对象

Map.Entry> bigentry=it.next();//获取大结婚证对象的key

String bigkey=bigentry.getKey();//获取大结婚证对象的value

HashMap smallMap=bigentry.getValue();//3.获取小Map的结婚证对象Set集合

Set> smallentrys=smallMap.entrySet();//4.遍历小结婚证对象取到每一个小结婚证对象//获取迭代器对象

Iterator> it2=smallentrys.iterator();while(it2.hasNext()){//获取每一个小结婚证对象

Map.Entry smallentry=it2.next();//获取小结婚证对象的key

Person smallKey=smallentry.getKey();//获取小结婚证对象的value

String smallValue=smallentry.getValue();

System.out.println(bigkey+"..."+smallKey+"..."+smallValue);

}

}//keySet+增强for

Set set1=oracle.keySet();for(String s:set1){//小map value

HashMap map = oracle.get(s);

Set s1=map.keySet();for(Person s2:s1){

System.out.println(s+"..."+s2+"..."+map.get(s2));

}

}

System.out.println("---------keySet+iteracor");

Set set2=oracle.keySet();

Iterator it=set2.iterator();while(it.hasNext()){

String p=it.next();

HashMap map = oracle.get(p);

Set s3=map.keySet();

Iterator it2=s3.iterator();while(it2.hasNext()){

Person p1=it2.next();

System.out.println(p+"..."+p1+"..."+map.get(p1));

}

}

System.out.println("---------entrySet+增强for");

Set>> bigentrys=oracle.entrySet();for(Map.Entry>s4:bigentrys){

String s5=s4.getKey();

HashMap map2=s4.getValue();

Set> s6=map2.entrySet();for(Map.Entrys7:s6){

System.out.println(s5+"..."+s7.getKey()+"..."+s7.getValue());

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaIterator是一种用于遍历集合类(例如List、Set、Map)元素的接口。其,remove()方法是Iterator接口的一个方法,用于从集合删除上一次调用next()方法返回的元素。 具体来说,当我们使用Iterator遍历集合时,每次调用next()方法会返回集合的下一个元素。如果我们想要删除某个元素,可以在调用next()方法后立即调用remove()方法,从而删除上一次返回的元素。需要注意的是,如果在调用next()方法之前或调用remove()方法之后调用remove()方法,都会抛出IllegalStateException异常。 下面是一个简单的例子,演示了如何使用Iterator的remove()方法删除集合的元素: ```java List<String> list = new ArrayList<>(); list.add("apple"); list.add("banana"); list.add("orange"); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { String fruit = iterator.next(); if (fruit.equals("banana")) { iterator.remove(); // 删除上一次返回的元素 } } System.out.println(list); // 输出 [apple, orange] ``` 在上面的例子,我们创建了一个包含三个水果的List集合,并使用Iterator遍历该集合。当我们遍历到“banana”时,调用remove()方法将其从集合删除。最后,我们输出修改后的集合,可以看到“banana”已经被删除了。 需要注意的是,Iterator的remove()方法只能删除集合的元素,不能用于添加或修改元素。如果我们想要添加或修改元素,应该使用集合类提供的相应方法(例如List的add()、set()方法)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值