HashMap排序问题详解编程语言
2023-06-13 09:11:48 时间
public static TreeMap String, Float sortFloatDESC(HashMap String, Float map) {
ValueComparatorDesc valComp = new ValueComparatorDesc(map);
TreeMap String, Float sortedMap = new TreeMap String, Float (valComp);
sortedMap.putAll(map);
return sortedMap;
/**
* @Function 升序排
* */
public static TreeMap String, Float sortFloatASC(HashMap String, Float map) {
ValueComparatorAsc valComp = new ValueComparatorAsc(map);
TreeMap String, Float sortedMap = new TreeMap String, Float (valComp);
sortedMap.putAll(map);
return sortedMap;
public static void main(String[] args){
HashMap String, Float map = new HashMap String,Float
map.put("A", (float) 0.9999);
map.put("B", (float) 0.111);
map.put("C", (float) 1.9090);
map.put("D", (float) 0.2);
CustomSort sf = new CustomSort();
System.out.println(sf.sortFloatDESC(map));
public static Integer[] getMaxCNumber(Integer[] array){ ArrayList Integer maxArrays = new ArrayList Integer ArrayList Integer nowArrays = new ArrayList Integer // {0, 1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}; int max = array[0] - 1; for (int i = 0; i array.length; i++) { // System.out.println("array[i]: "+array[i] + " ; max+1: "+(max+1)); if (array[i] != max + 1) { max = array[i] - 1; // System.out.println("--------------------------------,max="+(array[i] - 1) + " ;array[i]="+array[i]); nowArrays.clear(); nowArrays.add(array[i]); max = array[i]; if (nowArrays.size() = maxArrays.size()) { // maxArrays=nowArrays;这种情况是吧nowdays的地址赋值给了maxarrays的地址,这样以后只要nowarrays的地址改变,maxarrays的值也会改变 maxArrays = (ArrayList Integer ) nowArrays.clone(); // System.out.println("nowArrays: "+nowArrays.toString()); // System.out.println("maxArrays: "+maxArrays.toString()); return (Integer[]) maxArrays.toArray(new Integer[] {}); * @Function 降序排,从大到小 * */ class ValueComparatorDesc implements Comparator String { Map String, Float mapFloat; // 这里需要将要比较的map集合传进来 public ValueComparatorDesc(Map String, Float mapFloat) { this.mapFloat = mapFloat; public int compare(String a, String b) { if (mapFloat.get(a) = mapFloat.get(b)) { return -1; } else { return 1; * @Function 升序排,从小到大 * */ class ValueComparatorAsc implements Comparator String { Map String, Float mapFloat; // 这里需要将要比较的map集合传进来 public ValueComparatorAsc(Map String, Float mapFloat) { this.mapFloat = mapFloat; public int compare(String a, String b) { if (mapFloat.get(a) = mapFloat.get(b)) { return -1; } else { return 1;
public static Integer[] getMaxCNumber(Integer[] array){ ArrayList Integer maxArrays = new ArrayList Integer ArrayList Integer nowArrays = new ArrayList Integer // {0, 1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}; int max = array[0] - 1; for (int i = 0; i array.length; i++) { // System.out.println("array[i]: "+array[i] + " ; max+1: "+(max+1)); if (array[i] != max + 1) { max = array[i] - 1; // System.out.println("--------------------------------,max="+(array[i] - 1) + " ;array[i]="+array[i]); nowArrays.clear(); nowArrays.add(array[i]); max = array[i]; if (nowArrays.size() = maxArrays.size()) { // maxArrays=nowArrays;这种情况是吧nowdays的地址赋值给了maxarrays的地址,这样以后只要nowarrays的地址改变,maxarrays的值也会改变 maxArrays = (ArrayList Integer ) nowArrays.clone(); // System.out.println("nowArrays: "+nowArrays.toString()); // System.out.println("maxArrays: "+maxArrays.toString()); return (Integer[]) maxArrays.toArray(new Integer[] {}); * @Function 降序排,从大到小 * */ class ValueComparatorDesc implements Comparator String { Map String, Float mapFloat; // 这里需要将要比较的map集合传进来 public ValueComparatorDesc(Map String, Float mapFloat) { this.mapFloat = mapFloat; public int compare(String a, String b) { if (mapFloat.get(a) = mapFloat.get(b)) { return -1; } else { return 1; * @Function 升序排,从小到大 * */ class ValueComparatorAsc implements Comparator String { Map String, Float mapFloat; // 这里需要将要比较的map集合传进来 public ValueComparatorAsc(Map String, Float mapFloat) { this.mapFloat = mapFloat; public int compare(String a, String b) { if (mapFloat.get(a) = mapFloat.get(b)) { return -1; } else { return 1;
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/17858.html
cjava相关文章
- java——List列表结构的复杂排序
- 八大排序算法(C语言实现)
- 经典排序算法:快速排序(Quick Sort)详解编程语言
- 二叉排序树的建立和查找(面试常考)详解编程语言
- 用Python实现各种排序算法详解编程语言
- 希尔排序算法的python实现详解编程语言
- 基数排序 Java排序算法详解编程语言
- Java实现的快速排序算法详解编程语言
- Java排序算法 – 基数排序详解编程语言
- Java文件夹排序(先文件夹排序,后文件排序)详解编程语言
- 排序算法的实现(C/C++实现)详解编程语言
- Go基础之–排序和查找操作详解编程语言
- 冒泡排序、快速排序详解编程语言
- 用Java集合中的Collections.sort方法对list排序的两种方法详解编程语言
- java中排序实现简单的策略模式详解编程语言
- 算法-数字在排序数组中出现的次数详解编程语言
- 排序Oracle中利用统计列实现数据排序(oracle统计列)
- 一个费力不讨好的选择排序详解编程语言
- 合并两条排序的链表详解编程语言
- 算法练习之x的平方根,爬楼梯,删除排序链表中的重复元素, 合并两个有序数组详解编程语言
- 排序详解编程语言
- MongoDB数组排序:技巧与实践(mongodb数组排序)
- Oracle 时间排序:按顺序升序管理(oracle按时间排序)
- MySQL汉字拼音排序:一种新的解决方案(mysql汉字拼音排序)
- Oracle实现自动排序解决数据管理问题(oracle自动排序)
- Oracle自动排序:轻松实现排序的简洁方案(oracle自动排序)
- Mysql实现顺序排序的技巧(mysql顺序排序)
- MySQL实现数据大小排序技巧(mysql大小排序)
- Redis实现多维度混合规则排序(混合规则排序redis)
- Oracle中快速精准排序的重要按钮(oracle中排序按钮)
- Jquery选中表格一列并对表格排序实现原理
- Java使用选择排序法对数组排序实现代码
- java的arraylist排序示例(arraylist用法)
- 7种排序算法的实现示例