Java如何实现对HashMap进行排序?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<强> 1。值():强>
返回映射集合的所有价值的收藏集合(于集合中无序存放)
进口java.util。*; 公开课主要{ 公共静态void main (String [] args) { String> Map<字符串;地图=new HashMap<字符串,String> ();//构建键值对为& lt;字符串,String>的映射集合 map.put (“a",“aaa"); map.put (“b",“bbb"); map.put (“c",“ccc"); Collection收集=map.values ();//获取映射集合的所有价值的收藏集合(于集合中无序存放) System.out.println(收集); } }/* * *运行结果 * (bbb, ccc, aaa) */
<强> 2。键盘():强>
返回映射集合的所有键的设定集合(于组集合中无序存放)
通过迭代取出所有钥匙,再利用得到()方法获取的值,为(类型元素:集合)的本质是获取集合的迭代器进行迭代
进口java.util。*; 公开课主要{ 公共静态void main (String [] args) { String> Map<字符串;地图=new HashMap<字符串,String> ();//构建键值对为& lt;字符串,String>的映射集合 map.put (“a",“aaa"); map.put (“b",“bbb"); map.put (“c",“ccc"); Set键盘=map.keySet ();//获取映射集合的所有键的设定集合(于组集合中无序存放) Iterator iter=keySet.iterator ();//获取键盘集合的迭代器 而(iter.hasNext ()) { 字符串键=iter.next (); 字符串值=https://www.yisu.com/zixun/map.get(关键); system . out。println(“关键:”+键+“- ->值:+值); }/* (字符串键:键盘){ 字符串值=map.get(关键); system . out。println(“关键:”+键+“- ->值:+值); } */} }/* * *运行结果 *关键:b - ->值:bbb *关键:c - ->值:ccc *关键:- ->值:aaa */
<强> 3。entrySet(): 强>
返回映射集合的所有“映射“集的组合,这里规范每个“映射“的类型为Map.Entry
通过迭代取出所有的“映射”,再利用getKey (), getValue()方法获取相应的键,值
进口java.util。*; 公开课主要{ 公共静态void main (String [] args) { String> Map<字符串;地图=new HashMap<字符串,String> ();//构建键值对为& lt;字符串,String>的映射集合 map.put (“a",“aaa"); map.put (“b",“bbb"); map.put (“c",“ccc"); Set比;entrySet=map.entrySet ();//获取映射集合的所有“映射“集的组合,这里规范每个映射的类型为Map.Entry (于组集合中无序存放) Iterator 比;iter=entrySet.iterator ();//获取entrySet集合的迭代器,Map.Entry 为迭代元素的类型 而(iter.hasNext ()) { String> Map.Entry<字符串;项=iter.next (); 字符串键=item.getKey (); 字符串值=https://www.yisu.com/zixun/item.getValue (); system . out。println(“关键:”+键+“- ->值:+值); }/* (地图。进入<字符串,字符串>项:entrySet) { 字符串键=item.getKey (); 字符串值=item.getValue (); system . out。println(“关键:”+键+“- ->值:+值); } */} }/* * *运行结果 *关键:b - ->值:bbb *关键:c - ->值:ccc *关键:- ->值:aaa */
有以上方法作为基础,那么我们很容易想到对HashMap进行排序的两种方法
1。通过键盘()获取映射集合的所有键集的组合,由集列表合获取其中所有元素,通过比较器对元素为键的列表集合进行排序
2。通过entrySet()获取映射集合所有映射集的组合,由集列表合获取其中所有元素,通过比较器对元素为“映射“集列表合进行排序
通过对比较器比较方法的覆盖,两者还可以实现利用值进行排序。有关java中比较和比较器比较的详解
进口java.util。*; 公共类DescKeyComparator实现Comparator();//构建键值对为& lt;字符串,String>的映射集合 map.put (“a",“aaa"); map.put (“b",“bbb"); map.put (“c",“ccc"); Set entrySet=map.keySet ();//获取映射集合的所有键的设定集合(于组集合中无序存放) List Java如何实现对HashMap进行排序