精华内容
下载资源
问答
  • 最近做的项目有这样一个需求:要求对map中的值进行排序并生成序号。如果值相等则序号不变;如果不相等序号为该数数值在所有元素中的索引。如下表所示: Key(String) Value(Float) Idx 23 12.4 1 10 3.2 2 ...

    最近做的项目有这样一个需求:要求对map中的值进行排序并生成序号。如果值相等则序号不变;如果不相等序号为该数数值在所有元素中的索引。如下表所示:

    Key(String) Value(Float) Idx
    23 12.4 1
    10 3.2 2
    11 2.2 3
    9 2.2 3
    1 1.9 5
    6 0.5 6
    
    public static Integer getSort(Map<String, Float> hashMap, String string) {
            // 转换
            ArrayList<Entry<String, Float>> arrayList = new ArrayList<Map.Entry<String, Float>>(
                    hashMap.entrySet());
            // 排序
            Collections.sort(arrayList, new Comparator<Map.Entry<String, Float>>() {
                public int compare(Map.Entry<String, Float> map1,
                        Map.Entry<String, Float> map2) {
                    return ((map2.getValue() - map1.getValue() == 0) ? 0 : (map2
                            .getValue()
                            - map1.getValue() > 0) ? 1 : -1);
                }
            });
            Map<String, Integer> idxex = new HashMap<String, Integer>();
            // 输出
            int size = 1;
            for (int i = 0; i < arrayList.size(); i++) {
                Entry<String, Float> entry = arrayList.get(i);
                if (i > 0) {
                    float curr = arrayList.get(i).getValue();
                    float last = arrayList.get(i - 1).getValue();
                    if (curr != last) {
                        size = i;
                        idxex.put(entry.getKey(), (i + 1));
                        size++;
                    } else {
                        idxex.put(entry.getKey(), size);
                    }
                } else {
                    idxex.put(entry.getKey(), size);
                }
            }
    
            for (Map.Entry<String, Integer> entry : idxex.entrySet()) {
                String key = entry.getKey();
                if (string.equals(key)) {
                    return entry.getValue();
                }
            }
            return 0;
        }
    

    转载于:https://www.cnblogs.com/rever/p/7792818.html

    展开全文
  • java List排序[根据属性和序号排序]

    千次阅读 2016-09-22 15:19:24
    import java.io.Serializable; import java.util.ArrayList; import java.util.List; public class DD { public static void main(String[] args) { List tempList = new ArrayList(); List plxhList = new A
    import java.io.Serializable;
    import java.util.ArrayList;
    import java.util.List;
    
    public class DD {
    
    	public static void main(String[] args) {
    		List<AA> tempList = new ArrayList<AA>();
    		List<AA> plxhList = new ArrayList<AA>();
    
    		AA name = new AA();
    		name.setQzbs(1);
    		name.setPlxh(1);
    		tempList.add(name);
    
    		AA name2 = new AA();
    		name2.setQzbs(1);
    		name2.setPlxh(2);
    		tempList.add(name2);
    
    		AA name3 = new AA();
    		name3.setQzbs(0);
    		name3.setPlxh(3);
    		tempList.add(name3);
    
    		AA name4 = new AA();
    		name4.setQzbs(1);
    		name4.setPlxh(4);
    		tempList.add(name4);
    
    		AA name5 = new AA();
    		name5.setQzbs(0);
    		name5.setPlxh(5);
    		tempList.add(name5);
    
    		AA name6 = new AA();
    		name6.setQzbs(1);
    		name6.setPlxh(6);
    		tempList.add(name6);
    
    		int px = 0;
    		// 排序
    		for (int i = 0, len = tempList.size(); i < len; i++) {
    			if (tempList.get(i).getQzbs() == 1) {
    				plxhList.add(px, tempList.get(i));
    				px++;
    			} else {
    				plxhList.add(i, tempList.get(i));
    			}
    		}
    
    		for (int j = 0; j < plxhList.size(); j++) {
    			System.out.println(plxhList.get(j).getPlxh());
    		}
    	}
    	// 输出结果:
    	// 1
    	// 2
    	// 4
    	// 6
    	// 3
    	// 5
    }
    

    展开全文
  • 一个数组的数,排序后要求其原序号 ...又可以方便输出序号(只需mod1001输出序号,/1001 输出值) int num=a[i]%1001; //序号 int sum=a[i]/1001; //值 样例:https://blog.csdn.net/weixin_446856...

    一个数组的数,排序后要求其原序号

    方法一:
    如果数组总共有小于1000个数
    所以给每个ti都*1001,在加上当前序号
    可以保证排序的时候序号不干扰排序
    又可以方便输出序号(只需mod1001输出序号,/1001 输出值)

    int num=a[i]%1001;  //序号
    int sum=a[i]/1001;  //值
    

    样例:https://blog.csdn.net/weixin_44685629/article/details/103947288

    方法二:定义两个相同的,一个不变(用于对照),一个用于排序

    int n=in.nextInt();
    long[] a=new long[1001];
    long[] a2=new long[1001];
    double sum=0;
    
    for(int i=1;i<=n;i++) {
            	for(int j=1;j<=n;j++) {
            		if(a2[i]==a[j]) {
            			System.out.print(j+" ");  //序号
            			sum+=(n-i)*a2[i];         //值
            			a[j]=-1;
            			break;
            		}
            	}
            }
    

    方法三:建立对象类,排序类
    样例:https://blog.csdn.net/weixin_44685629/article/details/103938838

    展开全文
  • JAVA 生成随机数数组,并排序输出

    万次阅读 2009-09-12 23:02:00
    package com.koal.test;import java.util.Arrays;/** * * @author hp * 排序 */public class Sort { //要生成多少个随机数 int num = 10; int[] suiji = new int[num]; //产生随机数组 public v

    展开全文
  • Spark 基本排序 import org.apache.spark.{HashPartitioner, SparkConf, SparkContext} object Sort { System.setProperty("hadoop.home.dir","D:\\soft\\hadoop\\hadoop-2.9.2") def main(args: Array[String]...
  • 分配排序的基本思想:排序过程... 箱排序也称桶排序(Bucket Sort),其基本思想是:设置若干个箱子,依次扫描待排序的记录R[0],R[1],…,R[n-1],把关键字等于k的记录全都装入到第k个箱子里(分配),然后按序号依次
  • java常用排序算法

    千次阅读 2016-05-22 14:16:14
    在这里主要分享一个冒泡排序,选择排序,插入排序,希尔排序,快速排序和堆排序以及合并排序。 1、冒泡排序 这里是最基础的了,不用多说。 public static void bubbleSort(int[] a){ int temp; for(int i=1;i;i+...
  • import java.util.Random; /** * 参考wiki源码写了一遍,并加了注释和自己的理解。  * * 步骤: * 1、取一随机位置的元素作为基准(pivot,或叫枢纽) * 2、将基准移到最后位置(方便数组的其它元素与之...
  • Java 排序和查找汇总

    2014-08-26 11:03:52
    import java.util.Random; /** * * 排序测试类 * * * * 排序算法的分类如下: * * 1.插入排序(直接插入排序、折半插入排序、希尔排序); * * 2.交换排序(冒泡泡排序、快速排序); * * 3.选择排序...
  • 给一组随机数数【1-100】,每个数带有其序号,将这组数进行排序后,也输出他与之对应的序号 */ public class Demo01 { public static void main(String[] args) { Map<Integer,Integer> h...
  • Java实现堆排序

    万次阅读 2019-03-29 11:14:13
    Java实现 堆排序 Heap Sort 堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。 堆的定义  n个元素的序列{k1,k2,…,kn}当且仅当...
  • Java实现选择排序和冒泡排序

    万次阅读 多人点赞 2019-07-20 21:23:47
    给定一个可排序的n元素序列(例如,数字、字符和字符串),将它们按照非降序方式重新排列。 2 解决方案 2.1 选择排序原理简介 选择排序开始的时候,我们从第一个元素开始扫描整个列表,找到它的最小元素,然后和第一...
  • 以study_tbl表为例,根据patient_lid这一列进行分组,对study_lid排序输出序号,用法如下: 首先根据某个patient_lid查询出study_tbl里面所有的数据,如下: select study_lid,PATIENT_LID from study_tbl where...
  • Java排序算法(五):堆排序

    万次阅读 2015-03-12 22:17:53
    排序是对简单选择排序的改进 简单选择排序是从n个记录中找出一个最小的记录,需要比较n-1次。但是这样的操作并没有把每一趟的比较结果保存下来,在后一趟的比较中,有许多比较在前一趟已经做过了,但由于前一趟...
  • BJFU 1006——排序输出

    2015-01-16 16:55:13
    排序输出 时间限制(普通/Java):4000MS/15000MS 运行内存限制:16384KByte 总提交:764 测试通过:107 描述 给你一些整数,请将它们排序后输出。 输入 输入首先包含一个正整数T(0 接下来T组测试数据。 每组测试数据...
  • Java输入输出流和文件操作

    千次阅读 2015-06-23 14:46:45
    ②随机存取是指按记录序号进行读/写操作的存取方式。 ③索引存取是基于索引文件的存取方法。由于文件中的记录不按它在文件中的位置,而按它的记录键来编址,所以用户提供给操作系统记录键后就可查找到所需记录。 ...
  • java 拓扑排序

    2018-03-22 19:23:45
    使用链表构建有向图 由AOV网构造拓扑序列的拓扑排序算法主要是循环执行以下两步,直到不存在入度为0的顶点为止。 (1) 选择一个入度为0的顶点并输出之; (2) 从网中删除此顶点及所有出边。 循环结束后,若输出的...
  • 八大排序算法Java

    万次阅读 多人点赞 2016-07-06 17:57:40
    排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。    当n较大...
  • 排序Java实现

    2017-08-25 18:35:13
    排序的实现原理就先不给出了,有时间再补上。如果了解堆排序的原理,并理解完全二叉树与最大堆,...import java.util.Arrays; public class Heap_Sort { private static int[] data = { 0, 5, 6, 10, 8, 3, 2, 7,
  • 这篇文章主要介绍了Java如何实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序 、快速排序、归并排序、堆排序和LST基数排序,需要的朋友可以参考下 本文实现了八个常用的排序算法:插入排序、冒泡...
  • 这篇文章主要记录MySQL中遇到的几个基础问题,希望文章对你有所帮助!包括: 1.日期类型的判断 2.decode函数的替代方法 3.查询语句中添加一个排序序号 4.子函数查询select a.*
  • 来看一个排列的例子,它所做的工作是将输入的一个字符串中的所有元素进行排序输出,例如:你给出的参数是"abc" 则程序会输出:abc acb bac bca cab cba 这是一个典型的可用递归算法来实现的例子,我们来看一下利用...
  • java排序算法及代码

    2018-09-06 13:53:15
    排序总结及代码 public class DuiPaixu { static final int SIZE = 10; static void heapSort(int a[],int n){ //堆排序 int i,j,h,k; int t; for(i = n/2-1;i&gt;=0;i++){//将...
  • import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Random; public class RandomSort { public static void print...
  • JAVA对ArrayList排序

    千次阅读 2012-09-03 22:19:50
    以下前三个代码都是通过实现Comparable接口,或是实例化一个比较器,虽然重点部分重复了...增加排序功能,打印时:输出学生对象的时候,需要先按照年龄排序,如果年龄相同,则按照姓名排序,如果姓名也相同,则按照学号
  • * 实现了八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序 * 以及快速排序、归并排序、堆排序和LST基数排序 * @author gkh178 */ public class EightAlgorithms { //插入排序:时间复杂度o(n^2)
  • 2.然后进行排序,每次排序时,将最后一个序号n节点的值与根节点0的值进行替换,然后将节点又调整成堆。 3.然后将根节点与n-1进行交换重复步骤2。直到序列为有序 3.1以大根堆为例: /** * 堆调整算法 ...
  • 输出的第二行输出查找结果,如果查找元素在表中,输出该元素的序号(从1开始编号),如果查找元素不在表中,输出“NO"。  输入样例:  13  7 14 18 21 23 29 31 35 38 42 46 49 52  21  输出样例: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,318
精华内容 6,527
关键字:

java排序输出序号

java 订阅