package netnietest; import javautilHashMap; import javautilIterator; import javautilMap; public class HashMapTest { private static Map<Integer, String> map=new HashMap<Integer,String>(); / 1HashMap 类映射不保证顺序;某些映射可明确保证其顺序: TreeMap 类 2在遍历Map过程中,不能用mapput(key,newVal),mapremove(key)来修改和删除元素, 会引发 并发修改异常,可以通过迭代器的remove(): 从迭代器指向的 collection 中移除当前迭代元素 来达到删除访问中的元素的目的。 / public static void main(String[] args) { mapput(1,"one"); mapput(2,"two"); mapput(3,"three"); mapput(4,"four"); mapput(5,"five"); mapput(6,"six"); mapput(7,"seven"); mapput(8,"eight"); mapput(5,"five"); mapput(9,"nine"); mapput(10,"ten"); Iterator<MapEntry<Integer, String>> it = mapentrySet()iterator(); while(ithasNext()){ MapEntry<Integer, String> entry=itnext(); int key=entrygetKey(); if(key%2==1){ Systemoutprintln("delete this: "+key+" = "+key); //mapput(key, "奇数"); //ConcurrentModificationException //mapremove(key); //ConcurrentModificationException itremove(); //OK } } //遍历当前的map;这种新的for循环无法修改map内容,因为不通过迭代器。 Systemoutprintln("-------nt最终的map的元素遍历:"); for(MapEntry<Integer, String> entry:mapentrySet()){ int k=entrygetKey(); String v=entrygetValue(); Systemoutprintln(k+" = "+v); } } }
官方jdk里面提供的map接口实现类基本是不能用来排序的,sortmap或者treemap排序是可以的,但是比较复杂,效率也成问题,所以不常使用
如果一定要能排序的map,可以自己写一个map的实现类
现成的代码通过短信给你
for (; ithasNext();) {
MapEntry<String, String> en = itnext();
Systemoutprintln(engetKey());
Systemoutprintln(engetValue());
}
遍历map键值可以直接这样写
for(MapEntry<String, String> en : mapentrySet()){Systemoutprintln(engetKey());
Systemoutprintln(engetValue());
}
以上就是关于java如何遍历map的所有的元素全部的内容,包括:java如何遍历map的所有的元素、Java的map能不能排序、java中的Map中的EntrySet()等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)