将一组数进行排序后,也输出他与之对应的序号
生活随笔
收集整理的這篇文章主要介紹了
将一组数进行排序后,也输出他与之对应的序号
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package com.com.henu;import java.util.*;
/*
給一組隨機數數【1-100】,每個數帶有其序號,將這組數進行排序后,也輸出他與之對應的序號*/
public class Demo01 {public static void main(String[] args) {Map<Integer,Integer> hmap = new HashMap<>();int count = 1;//將隨機數存到map中去,以序號作為key值,隨機數作為value1值for (int i = 0; i < 10; i++) {int x = (int) (1+Math.random()*100);hmap.put(count++,x);}System.out.println("The data that goes in : " + hmap);List<Integer> list = new ArrayList<>();List<Integer> res = new ArrayList<>();//定義list存儲map的value值Set<Map.Entry<Integer,Integer>> entries = hmap.entrySet();for (Map.Entry<Integer,Integer> e: entries) {Integer value = e.getValue();list.add(value);}System.out.println("Output the hmap's value : " + list);//對list中的value值進行排序Collections.sort(list);System.out.println("Output the sorted value : " + list);//將其對應的序號添加到另一個list----res中輸出for (Integer i: list) {for (Map.Entry<Integer,Integer> e: entries) {Integer key = e.getKey();Integer value = e.getValue();if (i == value){res.add(key);//因為隨機的數可能存在重復值,所以當查到第一個相同值后,將其remove掉//并且跳出本次循環。這樣不會存入重復的key值entries.remove(e);break;}}}System.out.println("The corresponding ordinal number : " + res);}
}
?
總結
以上是生活随笔為你收集整理的将一组数进行排序后,也输出他与之对应的序号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 将 a.txt 文件中的单词与 b.tx
- 下一篇: 将d:\java目录下的所有.java文