成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一個(gè)排名調(diào)整問(wèn)題惡心了我整整一天

開(kāi)發(fā) 后端
在招投標(biāo)行業(yè),某個(gè)項(xiàng)目的某個(gè)標(biāo)段會(huì)有多家投標(biāo)人來(lái)投標(biāo).為了選出中標(biāo)企業(yè),會(huì)組織專家對(duì)投標(biāo)人進(jìn)行評(píng)審,在最后階段,如果有特殊原因允許對(duì)投標(biāo)人排名進(jìn)行臨時(shí)調(diào)整。今天就帶大家一起學(xué)習(xí)相關(guān)內(nèi)容!

[[390816]]

 問(wèn)題回顧


在招投標(biāo)行業(yè),某個(gè)項(xiàng)目的某個(gè)標(biāo)段會(huì)有多家投標(biāo)人來(lái)投標(biāo).為了選出中標(biāo)企業(yè),會(huì)組織專家對(duì)投標(biāo)人進(jìn)行評(píng)審,在最后階段,如果有特殊原因允許對(duì)投標(biāo)人排名進(jìn)行臨時(shí)調(diào)整

如上圖所示,我們可以點(diǎn)擊排名按鈕,在彈框中選擇期望的排名,對(duì)投標(biāo)人排名進(jìn)行調(diào)整;

問(wèn)題分析

🙌場(chǎng)景一

假如我們將第一名調(diào)整為第二名,那么第二名和第一名要對(duì)調(diào)位置,第三名保持不變,最終變?yōu)橛覀?cè)順序

🙌場(chǎng)景二

假如我們把第三名調(diào)整為第一名,那么原來(lái)的第一名和第二名的排名要遞減1,最終變?yōu)橛覀?cè)順序

🤦‍♀️以我淺薄的知識(shí),感覺(jué)這個(gè)問(wèn)題很棘手

剛開(kāi)始我想我需要先把原來(lái)的排名查詢出來(lái),然后分上面兩種情況去判斷,進(jìn)而獲取各個(gè)元素的新排名,在建立舊排名和新排名的關(guān)聯(lián),然后通過(guò)這個(gè)關(guān)聯(lián)關(guān)系達(dá)到更新數(shù)據(jù)庫(kù)的目的

雖然這樣也可以做,但我最近放棄了這種方式,采用引入鏈表來(lái)實(shí)現(xiàn),下面來(lái)一起看看

解決方案

  1.  HashMap<String, Object> params = new HashMap<>(); 
  2.  params.put("projectId", bidder.getProjectId()); 
  3.  params.put("sectionId", bidder.getSectionId()); 
  4.  
  5.  LinkedList<Integertemp = new LinkedList<>(); 
  6.  //查詢當(dāng)前所有投標(biāo)人排名 
  7.  LinkedList<Bidder> ranks = this.selectBidderRanking(bidder); 
  8.  
  9. //將所有企業(yè)舊排名先放入鏈表中 
  10.  ranks.forEach(i -> { 
  11.      temp.add(i.getBidderId()); 
  12.  }); 
  13.  //移除當(dāng)前元素[就是跳轉(zhuǎn)排名的那個(gè)企業(yè)] 
  14.  temp.remove(bidder.getBidderId()); 
  15.  //指定位置插入元素[以新排名為位置,重新插入那個(gè)企業(yè)] 
  16.  temp.add(Integer.parseInt(bidder.getRank()) - 1, bidder.getBidderId()); 
  17.  
  18.  //更新排名 
  19.  
  20.  for (int i = 0; i < temp.size(); i++) { 
  21.      bidder.setBidderId(temp.get(i)); 
  22.      bidder.setRank(String.valueOf(i + 1)); 
  23.      bidderMapper.updateBidderRank(bidder); 
  24.  } 

在我們剛剛分析的過(guò)程中,其實(shí)最麻煩的地方就是一個(gè)企業(yè)排名變化以后,其他的都要跟著變化,通過(guò)利用鏈表,我們只需要關(guān)注他的新排名,對(duì)應(yīng)其他元素的升降已經(jīng)由鏈表幫我們處理好,我們只需要重新遍歷,就可以獲取到新的排名。

 

責(zé)任編輯:姜華 來(lái)源: 今日J(rèn)ava
相關(guān)推薦

2021-04-29 08:05:50

APP套路央視賺錢(qián)

2019-11-07 15:30:00

EmacsIDE

2022-05-31 08:35:05

RocketMQACK客戶端

2018-12-09 14:55:07

區(qū)塊鏈加密貨幣比特幣

2017-03-21 21:17:50

大數(shù)據(jù)數(shù)據(jù)互聯(lián)網(wǎng)

2015-06-17 14:25:04

2021-07-15 09:49:08

B站宕機(jī)黑客

2013-01-08 13:32:31

SEO GTD

2020-11-04 07:56:19

工具Linux 翻譯

2020-11-20 08:01:37

程序員產(chǎn)品經(jīng)理轉(zhuǎn)型

2011-05-23 18:32:46

SEO

2022-05-16 08:42:26

Pandasbug

2021-09-13 08:41:52

職場(chǎng)互聯(lián)網(wǎng)自閉

2020-09-27 14:13:50

Spring BootJava框架

2025-02-13 07:49:18

2015-10-29 11:36:45

Google技術(shù)經(jīng)理程序員

2020-04-03 09:45:09

Java多線程接口

2009-06-16 12:53:06

2018-10-22 17:52:28

GitHub代碼開(kāi)發(fā)者

2020-05-08 13:52:53

5G2025年工程師
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 免费精品 | 国产精品视频在线播放 | 一级a性色生活片久久毛片波多野 | 一级aaaa毛片 | 中文字幕 国产精品 | 精品一区二区三区91 | 欧美最猛性xxxxx亚洲精品 | 性高湖久久久久久久久 | 国产精品久久久久免费 | 天天爽一爽| 日韩视频在线免费观看 | 亚洲区一 | 欧美一区二区三区 | 手机看片在线播放 | 成年视频在线观看 | 久久久免费精品 | 日韩av高清在线 | 国产美女自拍视频 | 欧美日韩精品中文字幕 | 国产精品mv在线观看 | av永久免费 | 亚洲激情在线视频 | 欧洲精品久久久久毛片完整版 | 国产精品日韩 | 久久偷人 | 日韩一区二区三区视频在线观看 | 亚洲一区亚洲二区 | 天天干夜夜操视频 | 亚洲自拍偷拍免费视频 | 在线看片福利 | 午夜免费观看网站 | 久草福利 | 97精品超碰一区二区三区 | 精品粉嫩超白一线天av | 天堂亚洲| 中文字幕日韩欧美 | 自拍偷拍亚洲欧美 | 亚洲风情在线观看 | 国产在线高清 | 自拍偷拍第一页 | 中文av在线播放 |