這篇文章主要講解了“用Java怎么排序兩個(gè)數(shù)組”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“用Java怎么排序兩個(gè)數(shù)組”吧!
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比孟津網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式孟津網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋孟津地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。
假設(shè)有 number,group,兩個(gè)數(shù)組,其中的元素都是數(shù)字,現(xiàn)在要對(duì)其排序排序的規(guī)則如下:
1.如果 group里面元素,存在于numbers了里面
2.要把出現(xiàn)在 group 內(nèi)的數(shù)字 放在 number 的那些數(shù)字之前,注意排序
numbers = [8, 3 ,1, 2, 5,4,7,6] group = {2,3,5,7}
分析了下,應(yīng)該是優(yōu)先級(jí)的問題,這里使用了元組排序的方法:
numbers = [8, 3 ,1, 2, 5,4,7,6] group = {2,3,5,7} tmp = [] for x in numbers: if x in group: tmp.append((0, x)) else: tmp.append((1, x)) tmp.sort() print(list(map(lambda x:x[1], tmp)))
在網(wǎng)上看到了一個(gè)經(jīng)典的代碼:
def sort_priority(values,group): def helper(x): if x in group: return (0, x) return (1, x) values.sort(key=helper) numbers = [8, 3 ,1, 2, 5,4,7,6] group = {2,3,5,7} sort_priority(numbers, group) print(numbers)
推薦使用第二個(gè)高階函數(shù)的方法
感謝各位的閱讀,以上就是“用Java怎么排序兩個(gè)數(shù)組”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)用Java怎么排序兩個(gè)數(shù)組這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!