對資料進行比較分出排名,排名會有相同的情況。

2021-09-24 01:25:33 字數 1596 閱讀 7889

1.首先假造一點資料  建立乙個person類(getset構造方法自己補充)

public class person
2.接下來new出幾個物件來加進集合中

arraylistpersonlist = new arraylist<>();

person person = new person("張三",5);//建立了只有名字和接單數的構造方法

person person1 = new person("李四",3);

person person2 = new person("王五",3);

person person3 = new person("趙六",9);

person person4 = new person("老七",7);

person person5 = new person("小八",1);

person person6 = new person("大哥",0);

personlist.add(person);

personlist.add(person1);

personlist.add(person2);

personlist.add(person3);

personlist.add(person4);

personlist.add(person5);

personlist.add(person6);

personlist.foreach(i-> system.out.println("沒有排序之前的順序"+i));

3.接下來將集合按照接單數進行乙個排序(此時的排序是有重複資料的)
personlist.sort(new comparator() else if(o1.getjiedanshu()system.out.println("排序之後的順序"+i));
4.將排好序後的集合新增進linkedhashmap中進行去重(string放入接單數,integer放入排名順序)

linkedhashmapmap = new linkedhashmap<>(personlist.size());  //建立乙個集合將personsize的大小放進去
5.迴圈list集合將接單數以key,排名以value方式放入進去

//剛開始的時候將所有的接單數當key放入進去,value全部為0,因為此時的放入num的話進行不了++操作,這個我底層也不是很清楚。  

personlist.foreach(t->);

//將key全部新增進去之後再迴圈map集合 定義乙個num數字每次都++ 到此排名就做出來了

int num=0;

for(string s :map.keyset())

6.迴圈list集合  如果接單數和map中的key相同的話就將value賦予list的排名

personlist.foreach(i->

});});

personlist.foreach(i-> system.out.println("最終排好序之後的集合"+i));

MySQL對資料表進行資料彙總並得出排名

問題描述 現有 t1,t1中有checkdoctor 檢查人員 字段,無count 匯 計 和rank 排名字段 現要求在指定條件下獲取各個檢查人員的工作量排名,允許並列排名。由於使用mysql資料庫,沒有rank函式可使用,該如何實現呢?解決思路 在mysql中,可借助rownum實現查詢排名的功...

大資料軟體排名,國內大資料企業排名

大資料 近幾年來蓬勃發展,它不僅是企業趨勢,也是改變了人類生活的技術創新。大資料對行業使用者的重要性也日益突出。掌握資料資產,進行智慧型化決策,已成為企業脫穎而出的關鍵。因此,越來越多的企業開始重視大資料戰略布局,並重新定義自己的核心競爭力。大資料的分析方法在大資料領域就顯得尤為重要,可以說是決定最...

hdu 考試排名 比較簡單

問題描述 c 程式設計考試使用的實時提交系統,具有即時獲得成績排名的特點。它的功能是怎麼實現的呢?我們做好了題目的解答,提交之後,要麼 ac 要麼錯誤,不管怎樣錯法,總是給你記上一筆,表明你曾經有過一次錯誤提交,因而當你一旦提交該題 ac 後,就要與你算一算帳了,總共該題錯誤提交了幾回。雖然你在題數...