Map.Entry求解!

问题描述

/*统计字符串”abadcdffbaeba”中每个字符出现了多少次,按次数排序并输出。例如:c:1,e:1,d:2,f:2,b:3,a:4*/importjava.util.ArrayList;importjava.util.Collections;importjava.util.Comparator;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.Map.Entry;publicclassTestimplementsComparator<Entry<String,Long>>{publicstaticvoidmain(String[]args){Stringstr="abadcdffbaeba";Map<String,Long>result=newHashMap<String,Long>();String[]s=str.split("");for(inti=0;i<s.length;i++){if("".equals(s[i])){continue;}if(result.get(s[i])!=null){result.put(s[i],result.get(s[i])+1);}else{result.put(s[i],1l);}}Listlist=newArrayList(result.entrySet());Collections.sort(list,newTest());for(inti=0;i<list.size();i++){System.out.println(list.get(i));}}//问o1和o2是什么意思,是怎么传进来的?publicintcompare(Entry<String,Long>o1,Entry<String,Long>o2){longi=o1.getValue()-o2.getValue();if(i==0l){//o2.getValue()返回的是什么?returno2.getValue().compareTo(o1.getValue())==0?1:0;}returni>0l?1:0;}}

解决方案

解决方案二:
这不是Map.Entry的问题。这是比较器的问题。搜一下比较器就明白了。
解决方案三:

解决方案四:
o1和o2表示map中两个Entry。o2.getValue()表示o2的值,就是result.get(o2.getKey())
解决方案五:
这个查查文档哦。

时间: 2024-10-08 16:52:59

Map.Entry求解!的相关文章

【ActiveMQ】管理界面查看消息详情,报错/WEB-INF/tags/form/forEachMapEntry.tag PWC6199: Generated servlet error: The type java.util.Map$Entry cannot be resolved. It is

ActiveMQ版本:5.12 JDK版本:1.8 ===================== 使用ActiveMQ过程中,在管理界面查看消息详情,发现报错: 查看日志信息,报错如下: 2017-11-29 16:29:08,020 | WARN | /admin/message.jsp | org.eclipse.jetty.servlet.ServletHandler | qtp68389885-53 org.apache.jasper.JasperException: PWC6033: U

Java同时输出Map的Key和Value处理方法

package com; import java.util.HashMap; import java.util.Map; import java.util.Set; public class Display { public static void main(String[] args) { Display Ctest = new Display(); String name = "fandunyang"; String college = "NanChangHangKong

Java Map 集合类简介

集合 java.util 中的集合类包含 Java 中某些最常用的类. 最常用的集合类是 List 和 Map. List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建.存储和操作任何类型对象的元素列表. List 适用于按数值索引访问元素的情形. Map 提供了一个更通用的元素存储方法. Map 集合类用于存储元素对(称作"键"和"值"),其中每个键映射到一个值. 从概念上而言,您可以将 List 看作是具有数值键的 M

Java集合学习(九) Map架构

前面,我们已经系统的对List进行了学习.接下来,我们先学习Map,再学习Set:因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的). 首先,我们看看Map架构. 如上图: Map 是映射接口,Map中存储的内容是键值对(key-value). AbstractMap 是继承于Map的抽象类,它实现了Map中的大部分API.其它Map的实现类可以通过继承AbstractMap来减少重复编码. SortedMap 是继

使用Collections.frequency和Map计算Java List中重复项出现的次数

本文演示如何使用Collections.frequency和Map来计算重复项出现的次数.(Collections.frequency在JDK 1.5版本以后支持) package com.qiyadeng.core; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; import

汉字得出对应的拼音;通过拼音查找map中的汉字,逆向map多个装成list

需要用到Pingyin4j.jar import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; im

JAVA提高教程(11)-认识Map

Map可以为某些数据提供快速查找功能,通过关键字(key)可以快速的得到对应的 Value,而不用像List那样需要大范围的遍历或特别的算法. 1. 源代码 1.import java.util.ArrayList; 2.import java.util.HashMap; 3.import java.util.HashSet; 4.import java.util.Iterator; 5.import java.util.List; 6.import java.util.Map; 7.impor

Java 遍历Map时 删除元素

package net.nie.test; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class HashMapTest { private static Map<Integer, String> map=new HashMap<Integer,String>(); /** 1.HashMap 类映射不保证顺序:某些映射可明确保证其顺序: TreeMap 类 *

Java中Map和StringTokenizer的使用

    请编写一个文本统计程序,统计某个文本文件中单词出现的次数(忽略大小写).文本文件作为main方法的参数输入,输出如下格式: Hello:3 good:5 moon:1 上述输出表明了文本文件中hello单词出现了3次,good出现了5次,moon出现了1次     import java.util.HashMap; import java.util.Map; import java.util.Scanner; import java.util.StringTokenizer; publi