国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

java - topN排序問題求解。

瀏覽:166日期:2024-02-07 15:47:53

問題描述

有個字符串數組,string[] str = {A,B,C,D,E,F,G,H};,數組分別對應一個整數數組,int[] a = {3,2,6,4,8,9,1,23};,類似于這樣,對整數數組中的數從大到小排序,然后將整數數組對應的字符串數組按序輸出,求解java代碼的實現方式。

問題解答

回答1:

你定義一個 Holder 類,用來保存 字符-數字 這個映射,然后對所有的 Holder,按照 Holder 中的數字從大到小排序,最后按序輸出每個 Holder 的字符。

import java.util.Arrays;public class Test { static class Holder implements Comparable<Holder> {public int num;public String str;public Holder(String str, int num) { this.str = str; this.num = num;}@Overridepublic int compareTo(Holder that) { return that.num - this.num; // 逆序排序} } public static void test(String[] strs, int[] nums) {if (strs.length != nums.length) { return;}Holder[] holders = new Holder[strs.length];for (int i = 0; i < strs.length; i++) { holders[i] = new Holder(strs[i], nums[i]);}Arrays.sort(holders);for (Holder holder : holders) { System.out.print(holder.str + ' ');}System.out.println(); } public static void main(String[] args) throws Exception {String[] strs = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'};int[] a = {3, 2, 6, 4, 8, 9, 1, 23};test(strs, a); }}

運行結果:java - topN排序問題求解。

標簽: java
相關文章:
主站蜘蛛池模板: 行唐县| 镇远县| 湖南省| 日喀则市| 阜城县| 宝兴县| 宜君县| 康定县| 台南县| 韶关市| 漾濞| 永胜县| 巴彦淖尔市| 太和县| 卢湾区| 麦盖提县| 进贤县| 荆州市| 垣曲县| 万盛区| 临城县| 麻城市| 恩平市| 舟曲县| 合江县| 湘潭市| 正蓝旗| 韶关市| 新平| 巨鹿县| 包头市| 绥阳县| 陇南市| 女性| 佛坪县| 腾冲县| 安康市| 甘南县| 广东省| 镇康县| 醴陵市|