亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用數組中 png 的名稱以兩種不同的方式對數組進行排序

如何使用數組中 png 的名稱以兩種不同的方式對數組進行排序

神不在的星期二 2024-01-25 15:10:04
我制作了一個包含 8 個 PNG 文件的數組,例如命名為27.png. 我試圖將它們顯示在 a 中j.label并在它們之間交換,但它們需要按兩個不同的事物進行排序。PNG 名稱中的“2”表示它是第二便宜的商品,7 表示它是評分第七高的商品。所以34.png將是第三便宜的,評級為 4/8。我嘗試過研究使用index.of,但我找不到在我的情況下使用它的方法。任何幫助將不勝感激,謝謝大家。
查看完整描述

2 回答

?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

public class Main {


    public static void main(String[] args) {


        String [] pngs = {"18.png","43.png", "27.png", "62.png", "71.png","34.png", "55.png", "86.png"};


        //this will sort by cheapest first

        java.util.Arrays.sort(pngs);

        printArray(pngs);


        //to sort by lowest rank first, swap digits, sort, re-swap digits

        swapFirstTwoDigits(pngs);

        java.util.Arrays.sort(pngs);

        swapFirstTwoDigits(pngs);

        printArray(pngs);



        //to sort by highest rank first, swap digits, sort, re-swap digits

        swapFirstTwoDigits(pngs);

        java.util.Arrays.sort(pngs,java.util.Collections.reverseOrder());

        swapFirstTwoDigits(pngs);

        printArray(pngs);


    }


    static void swapFirstTwoDigits(String[] array){

        for (int i = 0; i < array.length; i++) {

            String s = array[i];

            array[i] = ""+s.charAt(1)+s.charAt(0)+s.substring(2);

        }


    }



    static void printArray(String [] array){


        for (int i = 0; i < array.length; i++) {

            System.out.println(array[i]);

        }

        System.out.println("-------------------");


    }

}


查看完整回答
反對 回復 2024-01-25
?
浮云間

TA貢獻1829條經驗 獲得超4個贊

如果將這些名稱存儲在列表中,則可以利用使用比較器的 List#sort 方法。

    List<String> names = Lists.newArrayList( "35.png", "27.png" );
    names.sort( Comparator.comparing( ( String o ) -> Integer.parseInt( o.substring( 0, 1 ) ) )
            .thenComparing( o -> Integer.parseInt( o.substring( 1, 2 ) ) ) );

如果將它們存儲在其他集合中,則可以利用 Stream API 從集合中獲取流,并使用相同的比較器對流進行排序


查看完整回答
反對 回復 2024-01-25
  • 2 回答
  • 0 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號