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 後,就要與你算一算帳了,總共該題錯誤提交了幾回。雖然你在題數...