Map<String, Integer> map = new HashMap<String, Integer>();
map.put("d", 2);
map.put("c", 1);
map.put("b", 1);
map.put("a", 3);
List<Map.Entry<String, Integer>> infoIds =
new ArrayList<Map.Entry<String, Integer>>(map.entrySet());
//排序前
for (int i = 0; i < infoIds.size(); i++) {
String id = infoIds.get(i).toString();
System.out.println(id);
}
//d 2
//c 1
//b 1
//a 3
//排序
Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
//return (o2.getValue() - o1.getValue());
return (o1.getKey()).toString().compareTo(o2.getKey());
}
});
//排序后
for (int i = 0; i < infoIds.size(); i++) {
String id = infoIds.get(i).toString();
System.out.println(id);
}
//根据key排序
//a 3
//b 1
//c 1
//d 2
//根据value排序
//a 3
//d 2
//b 1
//c 1
- 浏览: 399827 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (311)
- 网站开发及性能优化 (1)
- JQUERY滚动加载 (1)
- 网络编辑 (1)
- redis (2)
- memcache (4)
- mongodb (5)
- kafka (7)
- apache (3)
- Nexus (2)
- 操作系统 (21)
- JDK (2)
- MyEclipse (11)
- SVN (4)
- Tomcat (3)
- Solr (4)
- CENTOS (5)
- ubuntu (2)
- 新浪微博api (1)
- elasticsearch (60)
- java (28)
- MAC (6)
- Lucene (4)
- Linux (14)
- mysql (6)
- XenCenter (1)
- ext (3)
- spring (6)
- oracle (4)
- tsp (1)
- JForum (1)
- jms (1)
- CAS (1)
- jquery (6)
- freemarker (2)
- 项目管理 (5)
- CSS (3)
- 事务管理 (1)
- js (3)
- 分词 (1)
- 分词器 (1)
- oauthToken (1)
- hadoop (8)
- spark (1)
- cache (1)
- unicode (1)
- 正则表达式 (1)
- google (1)
- Postfix (4)
- windows (3)
- 搜索引擎 (1)
- notepad (1)
- nginx (1)
- outlook (1)
- Fiddler (2)
- Shadowsocks (0)
- github (1)
- 算法 (4)
- zabbix (1)
- office (2)
- maven (8)
- TeamView (1)
- csv (1)
- mikrotik (1)
- DELL (1)
- USVN (2)
- mybatis (3)
- vue (1)
- python (1)
- zxing (2)
- Intellij idea (0)
- IDEA (2)
- http (2)
- JWT (1)
- CAP (1)
- Nacos (1)
- OpenFeign (1)
- SpringCloud (1)
- feign (1)
- springboot (2)
- skywalking (1)
- 微服务 (2)
- 部署 (1)
- bootstrap (1)
最新评论
-
xam_sunny:
用楼主的第一种方法解决了乱码问题,谢谢分享。
spring 中文乱码 -
lzq570:
...
freemarker中分页
发表评论
-
如何解决Source folder is not a Java project
2020-03-31 14:46 591从资源库上检出的项目,今天准备创建一个新的类 ... -
单例模式(Singleton)的多种写法和分析
2020-01-13 17:55 460单例模式算是设计模式中最容易理解,也是最容易手写代 ... -
Java8 lambda 的使用
2019-12-24 17:52 3521.Java8 新特性介绍 原文链接 https:// ... -
Java compiler level does not match the version of the installed Java project fac
2018-10-19 17:01 432今天用Eclipse时报这个错误: -
Linux更换jdk版本,java -version还是原来的版本问题
2018-08-17 11:20 2727在服务器上更新了新的 ... -
java实现截图并保存到本地
2018-07-03 10:24 5731.java实现截图并保存到本地 提供给大家三个方法,随意 ... -
java Map
2018-02-06 15:58 550/** * 实现java 中 list集合中有几 ... -
jar 包 反编译 工具
2016-04-26 13:56 678java反编译工具直接放入class文件或jar包 -
利用StringEscapeUtils对字符串进行各种转义与反转义
2016-02-04 16:09 2011在apache commons-lang(2.3以上版本) ... -
java导出多个excel并打成zip包
2015-08-20 17:41 3388import java.io.*; impor ... -
Java中HashMap遍历的两种方式
2015-08-19 16:52 1118转]Java中HashMap遍历的两种方式 原文地址: ... -
java敏感词过滤-使用HashMap实现DFA算法
2014-12-18 11:50 772转载:http://blog.shilimin.com/2 ... -
Java实现敏感词过滤
2014-12-18 11:49 3844敏感词、文字过滤是一个网站必不可少的功能,如何 ... -
设置CXF的WebService客户端超时时长
2014-12-14 16:39 1660在使用WebService时,我们通常都会在客户端中设置请 ... -
jsoup去除HTML标签
2014-12-11 13:47 901http://jsoup.org/download -
/** * 数据转换工具类,用于将单个对象、List转换为json、xml格式的字符串 */
2014-11-18 12:31 1793注意:List中只有存放的是相应的Java对象,才能正确 ... -
java读写文件
2014-10-16 11:28 404import java.io.BufferedReade ... -
java线程安全总结
2014-08-23 22:41 642最近想将java基础的一些东西都整理整理,写下来,这是对知 ... -
Future接口和Callable接口的使用
2014-08-23 22:40 821import java.util.ArrayList ... -
Future and Callable
2014-08-23 22:40 649有的时候我们需要将 ...
相关推荐
这里展示了两种不同的实现方式: - 使用`TreeMap`:创建一个`TreeMap`对象并传入`ByValueComparator`作为构造函数参数,然后将`HashMap`的所有键值对放入`TreeMap`中。 - 使用`Collections.sort()`:创建一个包含...
有两种主要方法可以对HashMap进行排序: - **使用LinkedHashMap** LinkedHashMap是HashMap的一个子类,它维护了元素的插入顺序或者访问顺序。如果想要按照插入顺序排序,直接使用LinkedHashMap即可。如果需要按照...
Java HashMap两种简便排序方法解析 Java HashMap是一种常用的数据结构,然而,它的储存是没有顺序的,按照key的HashCode实现。这使得在 certainsituations下的排序变得非常重要。下面,我们将介绍两种简便的排序...
如果需要对HashMap进行排序,通常有两种方式:一种是转换为LinkedHashMap,另一种是通过创建一个Entry集合并对其进行排序。 1. 转换为LinkedHashMap: LinkedHashMap是HashMap的一个子类,它保留了插入顺序,或者...
ArrayList和HashMap是Java编程语言中两种非常重要的集合类,它们都是Java集合框架(Collections Framework)的一部分,用于存储和管理对象。ArrayList属于List接口的实现,而HashMap则实现了Map接口。两者在用途、...
在Java编程语言中,HashMap是一种常用的集合类,它实现了Map接口,用于存储键值对...此外,了解HashMap内部结构也有助于选择更适合特定场景的其他数据结构,如TreeMap(按键排序)或ConcurrentHashMap(线程安全)。
8. **HashMap的遍历方式**:HashMap可以通过`keySet()`、`entrySet()`和`values()`方法分别获取键的集合、键值对的集合和值的集合进行遍历,其中`entrySet()`通常是最高效的遍历方式。 9. **HashMap与HashTable的...
需要注意的是,HashMap不保证映射的顺序,也就是说,它不会保持插入顺序或任何特定的排序方式。 #### 二、HashMap的数据结构 HashMap的基本数据结构可以概括为“链表散列”,也就是数组和链表的组合。这种数据结构...
在Go语言中,HashMap是一种非常重要的数据结构,用于存储键值对。在Go 1.13版本之后,为了提高哈希表的安全性和性能,引入了一些先进的哈希算法和技术,其中包括使用加密随机种子、散列提示、开放寻址以及罗宾汉哈希...
在 Java 中,可以使用 Comparator 来改变 TreeMap 的排序方式。例如,以下代码展示了如何使用 Comparator 实现降序排序: ```java Map, String> map = new TreeMap, String>( new Comparator() { public int ...
在实际应用中,选择哪种排序方法取决于具体需求。如果需要频繁根据Value排序,使用TreeMap配合自定义Comparator可能是最佳选择。如果只是偶尔排序,转换为List并使用Collections.sort()也足够。务必注意,排序操作会...
快速排序算法是一种 divide-and-conquer 排序算法,它通过选择数组中的一个元素作为分区点,将数组分成两个部分,然后递归地排序这两个部分。快速排序算法的时间复杂度为O(n log n),因此它在大规模数据中的应用是...
Java中实现Map排序的方式主要有两种,一种是使用TreeMap,另一种是使用SortedMap接口。HashMap内部元素是无序的,它不会记录插入顺序,也不保证顺序。如果需要有序的Map,可以使用TreeMap,它会根据键的自然顺序进行...
在提供的代码片段中,我们看到了两种自定义排序的例子: a) 对于简单的排序,如数字和英文字母,我们可以创建一个新的`Comparator`,重写`compare()`方法。在这个例子中,比较两个对象(假设它们都是`String`类型...
要对Map的value进行排序,通常有两种方法: 1. 使用`Collectors.toMap()`方法 Java 8引入了Stream API,我们可以利用这个强大的工具对Map进行操作。假设我们有一个Map, Integer>,可以使用以下代码对value进行排序...
HashMap是Java中常用的一种数据结构,它用于存储键值对,是基于哈希表实现的。HashMap在面试中经常被问及,因为它涉及到许多核心的编程概念,如哈希算法、哈希冲突解决、数据结构优化等。以下是HashMap的一些关键...
HashMap和TreeMap是Java中两种常用的Map实现,它们各自具有不同的特性和使用场景。 HashMap是基于哈希表实现的,其核心思想是通过键对象的hashCode()方法来快速定位到对应的桶(bucket),从而提高查找效率。...
顺序表、链表、栈、队列、树、...Python中的list和tuple两种类型采用了顺序表的实现技术 链表 单向链表 双向链表 单向循环链表 栈 队列 FIFO队列 LIFO队列 优先队列(Priority Queue) 双端队列(double-ended queue)
在拓扑排序的过程中,通常会用到两种主要的数据结构:队列和栈。在这个案例中,我们有四个文件,它们可能是Java实现的类: 1. `Graph.java` - 这个文件可能包含了图的数据结构实现,包括节点和边的表示。在拓扑排序...