Map.Entry求解!
/*统计字符串”abadcdffbaeba”中每个字符出现了多少次,按次数排序并输出。
例如:c : 1,e : 1,d : 2,f : 2,b : 3,a : 4*/
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public class Test implements Comparator<Entry<String,Long>>{
public static void main(String[] args) {
String str = "abadcdffbaeba";
Map<String,Long> result = new HashMap<String,Long>();
String[] s = str.split("");
for(int i=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);
}
}
List list = new ArrayList(result.entrySet());
Collections.sort(list, new Test());
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
//问o1和o2是什么意思,是怎么传进来的?
public int compare(Entry<String, Long> o1, Entry<String, Long> o2) {
long i = o1.getValue() - o2.getValue();
if(i==0l) {
//o2.getValue()返回的是什么?
return o2.getValue().compareTo(o1.getValue())==0 ? 1 :0;
}
return i > 0l ? 1 : 0;
}
}
例如:c : 1,e : 1,d : 2,f : 2,b : 3,a : 4*/
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public class Test implements Comparator<Entry<String,Long>>{
public static void main(String[] args) {
String str = "abadcdffbaeba";
Map<String,Long> result = new HashMap<String,Long>();
String[] s = str.split("");
for(int i=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);
}
}
List list = new ArrayList(result.entrySet());
Collections.sort(list, new Test());
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
//问o1和o2是什么意思,是怎么传进来的?
public int compare(Entry<String, Long> o1, Entry<String, Long> o2) {
long i = o1.getValue() - o2.getValue();
if(i==0l) {
//o2.getValue()返回的是什么?
return o2.getValue().compareTo(o1.getValue())==0 ? 1 :0;
}
return i > 0l ? 1 : 0;
}
}
...全文
相关推荐
Java Map.Entry的使用方法解析
主要介绍了Java Map.Entry的使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
MAP与ENTRY遍历解析[代码]
本文详细介绍了Java中MAP的基本概念及其键值对的存储方式,通过具体代码示例展示了如何使用put和get方法操作MAP中的键值对。同时,文章还讲解了ENTRY接口在遍历MAP时的应用,以及如何将MAP中的键名和键值分别存储到指定字段中。此外,还介绍了如何通过for循环遍历包含多个MAP的LIST,并从中提取所需数据。这些内容为开发者提供了实用的MAP操作技巧,有助于更高效地处理键值对数据。
java遍历Map的几种方法分析
主要介绍了java遍历Map的几种方法,结合实例形式分析了使用循环与迭代等方法操作Map遍历的相关技巧,需要的朋友可以参考下
Map获取键值,Map的几种遍历方法总结(推荐)
下面小编就为大家带来一篇Map获取键值,Map的几种遍历方法总结(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Java遍历Map键、值和获取Map大小的方法示例
本篇文章主要介绍了Java遍历Map键、值和获取Map大小的方法示例,详细的介绍了Java遍历Map的两种实现方法和大小,具有一定的参考价值,有兴趣的可以了解一下。


Java SE
