public class GiveMeMore {
private static final int counter = 1;
public static void main(String[] args) {
try {
BufferedReader in = new BufferedReader(new InputStreamReader(
System.in));
System.out.print("请输入:");
String text = in.readLine();
char[] a = text.toCharArray();
Map m = new TreeMap();
for (int i = 0; i < a.length; i++) {
if (!m.containsKey(a[i])) {
m.put(a[i], counter);
} else {
//int num = m.get(a[i]);
int num =Integer.parseInt(m.get(a[i]).toString()) ;
m.put(a[i], num + 1);
}
}
System.out.println(m);
List arrayList = new ArrayList(m.entrySet());
Collections.sort(arrayList, new Comparator(){
public int compare(Object o1, Object o2) {
Map.Entry obj1 = (Map.Entry) o1;
Map.Entry obj2 = (Map.Entry) o2;
return ((Integer) obj2.getValue()).compareTo((Integer)obj1.getValue());
}
});
System.out.println(arrayList);
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
TreeMap按VALUE排序
标题中提到的“JCF(List、Set、Map)学习,实现了,value>按value排序”是一个关键点,我们将深入探讨这个话题。 首先,让我们了解List、Set和Map的区别。List是有序的集合,允许重复元素,并且可以保持插入顺序;Set...
* TreeMap只能对key进行排序,不能对value进行排序。 * TreeMap是基于红黑树的实现,具有高效的排序和检索操作。 * 在使用TreeMap对字符串进行排序时,需要使用ASCII值来筛选出所有的字母。 使用TreeMap对字符串...
对Map的key和value进行排序 ...我们可以使用TreeMap和Comparator来对Map中的key或value进行排序,以满足特定的业务需求。在实际应用中,我们需要根据不同的业务需求选择合适的排序算法和数据结构来实现排序。
摘要:本文主要介绍了 Map 按 key 和 value 分别排序的方法,包括使用 TreeMap 的 key 排序和 value 排序两种方式。 Map 按 key 排序 Map 是键值对的集合接口,它的实现类主要包括 HashMap、TreeMap、Hashtable 及...
这个实例代码展示了如何在Java中实现按value值对Map集合进行排序,这对于需要根据value值进行数据分析或其他处理的场景非常有用。请注意,这种方法返回的是一个已排序的Map.Entry数组,而不是一个新的Map,因此如果...
然而,有时我们需要对Map中的值进行排序,例如按照value的大小进行升序或降序排列。这篇博客"对map里面的value进行排序"探讨的就是如何实现这一需求。 首先,我们了解Map接口的基本概念。Map接口不直接支持排序,...
在博文“HashMap通过对VALUE排序 源代码”中,作者可能详细介绍了如何实现上述方法,尤其是自定义Comparator来对HashMap的值进行排序。遗憾的是,由于没有提供具体的博客内容,我们无法给出更详细的源代码分析。不过...
在Java编程语言中,`TreeMap`是一种基于红黑树数据结构实现的键值对容器,与`HashMap`不同,`TreeMap`自动按照键的自然顺序或者自定义的比较器进行排序。当我们需要存储的数据有特定的排序需求时,`TreeMap`便成为一...
Java Map的按键排序和按值排序可以使用TreeMap,V>和LinkedHashMap, String>类来实现。按键排序可以使用TreeMap,V>的比较器来定义比较规则,而按值排序可以使用LinkedHashMap, String>的链表结构来保存键值对。
总结来说,Java提供了多种方式来对Map按值进行排序,包括使用TreeMap、Collections.sort、Stream API以及Guava库。选择哪种方法取决于项目需求和个人喜好,但在Java 8及更高版本中,Stream API通常被认为是最简洁和...
3. **TreeMap按Value排序**: - 要让TreeMap按照Value排序,我们需要创建一个新的Comparator,并在构造TreeMap时传入。Comparator接口有一个`compare(T o1, T o2)`方法,我们需重写此方法,使得比较两个Value时能按...
首先,TreeMap排序算法只能对键值对进行排序,不能对值进行排序。如果需要对值进行排序,需要使用其他的排序算法。 其次,TreeMap排序算法的时间复杂度是O(logn),空间复杂度是O(n),因此在处理大规模数据时需要...
然而,标准的Map实现如HashMap、TreeMap等,并不支持按值排序。如果你需要一个按值排序的Map,需要采取一些额外的策略。这里我们将探讨如何在Java中实现按值排序的Map,特别关注“按值排序”这一需求。 首先,标准...
总结来说,通过自定义`Comparator`并结合`Arrays.sort()`方法,我们可以对`Map`进行定制化的排序,无论是按值升序排序还是按键排序。但要注意,这种方法只是返回了一个排序后的`Entry`数组,并未改变原`Map`的顺序。...
使用TreeMap时,通常会先将所有的键值对取出,然后逐一放入TreeMap中,TreeMap会根据键自动进行排序。文章中提到的代码片段正是这种做法的示例。通过TreeMap的排序特性,键值对就会以字母表顺序排列。 另外,如果...
然而,有时候我们可能需要对Map按照键(key)或者值(value)进行排序。这里,我们讨论的是“对于Java Map类排序”,特别是通过键进行排序。 在给定的代码中,有一个名为`mapSortByKey`的方法,该方法接收一个未...
由于TreeMap本身无法直接按value排序,我们可以借助Collections的`sort()`方法,将Map的entrySet转换为List,然后对List进行排序。以下是按value排序的示例: ```java import java.util.*; public class ...
每个学生的信息通常包括姓名(作为键key)和对应的总分(作为值value)。`TreeMap`按照键的自然顺序或自定义比较器的顺序来排序键。在这里,我们可以使用学生的姓名作为键,因为姓名通常是唯一的,且方便比较。例如...