Map中字符串key的排序
来源:互联网 发布:matlab单位矩阵 编辑:程序博客网 时间:2024/06/14 20:27
前言
今日一同事,咨询我,map中key值排序的问题,具体需求如下:
map中key值为字符串,长度不等,现在要求,key值按照字符串排序;
分析此题:
首先得将map中的key值通过map.keySet()取出,然后转成ArrayList,再通过Collections.sort方法排序即可。
具体代码如下:
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.Set;public class Task {public static void main(String[] args) {Map<String, String> map = new HashMap<String, String>();map.put("service", "1");map.put("servic", "3");map.put("cervice", "12");map.put("aice", "12");map.put("eervice", "12");map.put("hervice", "12");Set<String> set = map.keySet();List<String> list = new ArrayList<String>(set);Collections.sort(list, new Comparator<String>() {public int compare(String o1, String o2) {char[] cs1 = o1.toCharArray();char[] cs2 = o2.toCharArray();int result = -1;for (int i = 0; i < cs1.length; i++) {if (cs2.length <= i) {result = 1;break;}if (cs1[i] > cs2[i]) {result = 1;break;} else if (cs1[i] < cs2[i]) {result = -1;break;}}return result;}});for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}}}
0 0
- Map中字符串key的排序
- C++的map中key的排序方式
- 判断Map中字符串key的值是否等于0
- Map按key进行排序 And Map拼接字符串
- C++ STL中Map的相关排序操作:按Key排序和按Value排序
- map key value的排序问题
- 给Map排序---按照key的字母
- Map 的Key 或 Value 排序
- C++ STL中Map的按Key排序和按Value排序
- C++ STL中Map的按Key排序和按Value排序
- C++ STL中Map的按Key排序和按Value排序
- C++ STL中Map的按Key排序和按Value排序
- C++ STL中Map的按Key排序跟按Value排序
- C++ STL中Map的按Key排序和按Value排序
- C++ STL中Map的按Key排序和按Value排序
- C++ STL中Map的按Key排序和按Value排序
- Map按照key排序以及JQuery中json对象的排序
- C++ STL中Map的按Key排序和按Value排序
- 二叉树结构
- Python正则表达式指南
- PowerDesigner(七)-面向对象模型(用例图,序列图,类图,生成Java源代码及Java源代码生成类图)
- ACM易错的地方之变量定义
- 绕开500D收费简历制作的关卡
- Map中字符串key的排序
- Struts2总结---数据校验 (5)
- sdutacm-数据结构实验之链表二:逆序建立链表
- Ubuntu虚拟机进入GRUB如何解决
- Android RxJava
- HTML5基础加强css样式篇(color,direction)(二)
- PowerDesigner(八)-模型文档编辑器(生成项目文档)
- windows下安装numpy
- 向Z同学学习