《Map中HashMap与TreeMap的排序以及四种遍历方式》
来源:互联网 发布:linux有几个版本 编辑:程序博客网 时间:2024/06/05 02:55
一、Map概述
1、Map是将键映射到值( key-value )的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
2、Map与Collection的区别
(1)Map 是以键值对的方式存储元素,键唯一,值可以重复。
(2)Collection存储的是单列元素,子接口Set元素唯一,子接口List可以重复。
(3)Map的数据结构针对键有效,跟值无关,Collection针对元素有效。
3、HashMap 与TreeMap 的创建,排序。
/*** * Map类的一些简单操作 * 包括TreeMap的排序,HashMap的排序,四种遍历方式 * @author Administrator * */public class MapTest {public static void main(String[] args) {//创建map对象,并赋值Map<String,String> treeMap = new TreeMap<String,String>(new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {return o1.compareTo(o2);}});treeMap.put("sufow1", "舒泉1");treeMap.put("sufow2", "舒泉2");treeMap.put("sufow3", "舒泉3");treeMap.put("sufow4", "舒泉4");treeMap.put("sufow5", "舒泉5");treeMap.put("sufow6", "舒泉6");treeMap.put("sufow7", "舒泉7");System.out.println("TreeMap");//遍历map 方式一,根据keyset方法获取所有的key,再根据key获取值for(String str :treeMap.keySet()){String val = treeMap.get(str);System.out.println(val);}Map<String,String> hashMap = new HashMap<String ,String>();hashMap.put("sufow1", "舒泉1");//可以写入null值hashMap.put("sufow2", "舒泉2");hashMap.put("sufow3", "舒泉3");hashMap.put("sufow4", "舒泉4");hashMap.put("sufow5", "舒泉5");hashMap.put("sufow6", "舒泉6");hashMap.put("sufow7", "舒泉7");System.out.println("HashMap");//先排序List<Map.Entry<String, String>> list = new ArrayList<Map.Entry<String, String>>(hashMap.entrySet());//通过比较器来排序Collections.sort(list, new Comparator<Map.Entry<String, String>>() {@Overridepublic int compare(Entry<String, String> o1,Entry<String, String> o2) {return o1.getValue().compareTo(o2.getValue());}});//遍历List,第二种通过Map.Entryfor(Map.Entry<String, String> m :list){String val = m.getValue();System.out.println(val);}//第二种遍历map的方式,根据迭代器IteratorIterator<Map.Entry<String, String>> iterator = hashMap.entrySet().iterator();while(iterator.hasNext()){Map.Entry<String, String> map = iterator.next();System.out.println(map.getKey());System.out.println(map.getValue());}//第三种通过values,只能遍历valuefor(String str:hashMap.values()){System.out.println(str);}//第四种,通过Map.Entryfor(Map.Entry<String, String> map:hashMap.entrySet()){System.out.println(map.getKey());System.out.println(map.getValue());}}
4、总结
(1)map排序的两种方式
第一种:通过 new Comparator的接口,实现方法,进行排序。
第二种:先将Map转换成List , 通过Collections的sort方法进行排序。
(2)Map的四种遍历方式
第一种:通过Map的keySet()方法遍历。
第二种:通过Map的values()方法遍历。
第三种:通过Map的entrySet()方法的Iterator方法将转换成Iterator。通过迭代器遍历。
第四种:通过Map的entrySet()方法,将其转换成Map.Entry对象,在通过foreach遍历,通过Map.Entry对象的getValue()获取值。
0 0
- 《Map中HashMap与TreeMap的排序以及四种遍历方式》
- Map集合的四种遍历方式以及Map集合中value()方法与keySet()、entrySet()区别
- Java中对Map(HashMap,TreeMap,Hashtable等)的排序
- Java中对Map(HashMap,TreeMap,Hashtable等)的排序
- Java Map遍历方式的选——TreeMap、HashMap的key、value遍历
- 【Map使用】Java中HashMap遍历的两种方式
- HashMap和TreeMap的遍历、排序、差别
- java中map遍历的四种遍历方式
- Map-HashMap与TreeMap
- Java中HashMap遍历的四种方式
- Java中HashMap遍历的四种方式
- Java中HashMap遍历的四种方式
- Java中HashMap遍历的四种方式
- TreeMap排序和Map的遍历
- Map ,HashMap , TreeMap , TreeMap 默认排序
- Map ,HashMap , TreeMap , TreeMap 默认排序
- HashMap的四种循环遍历方式
- 遍历HashMap的四种方式
- 第一行代码学习2(4)
- 枚举和结构体
- java HashMap相关
- Android View和ViewGroup事件分发机制源码分析
- Linux 下Mongodb的安装
- 《Map中HashMap与TreeMap的排序以及四种遍历方式》
- Android_ListView_有Header或Footer时onItemClick里的position的问题
- 浅谈MyBatis 之 集成SpringMVC(六)
- webpack 配置项选项详解
- html5 and css
- LDA主题模型和Gibbs Sampling 学习整理
- Flume与Kafka整合
- 优化M有School 第三章
- 访问者模式