JDK Map接口很难作为迭代在
EntrySet
或KeySet
对象上迭代。 MapIterator
提供了对Map
的简单迭代。public class MapIteratorTester { public static void main(String[] args) { IterableMap<String,String> map = new HashedMap<String, String>(); map.put("1", "One"); map.put("2", "Two"); map.put("3", "Three"); map.put("4", "Four"); map.put("5", "Five"); MapIterator<String,String> iterator = map.mapIterator(); while (iterator.hasNext()){ Object key = iterator.next(); Object value =iterator.getValue(); System.out.println("key:"+key); System.out.println("value:"+value); iterator.setValue(value+"_"); } System.out.println(map); } }
结果:
key:3 value:Three key:5 value:Five key:2 value:Two key:4 value:Four key:1 value:One {3=Three_, 5=Five_, 2=Two_, 4=Four_, 1=One_}
阁下何不同风起,扶摇直上九万里。