簡體   English   中英

排序int數組,綁定到Java中的字符串數組

[英]Sorting an int array, tied to a string array in Java

我有兩個數組:

int[] intArray = new int[]{point1,point2,point3,point4};

String[] strArray = new String[]{worda,wordb,wordc,wordd};

現在,我想按數字順序對intArray進行排序,以使strArray遵循相同的順序。 我敢肯定這是一個普遍的問題,但我無法使其正常工作。 我制作了一個TreeMap並添加了每個數組中的值。 TreeMap是否應該按鍵intArray []自動排序? 它似乎不起作用。

        TreeMap theMap = new TreeMap();

        theMap.put(intArray, strArray);

您在使用TreeMap感到困惑。 TreeMap使鍵保持排序。 在您的情況下,您只有一個鍵intArray因此無需排序。 您必須將每一對都放入地圖中:對於每個可能的i theMap.put(intArray[i], strArray[i])

順便說一句,如果僅用於排序,則不需要使用TreeMap 您可以列出包裝點和字符串的類的列表,然后使用Collections.sort(list)對其進行排序。 當然,您必須實現Comparable接口。

是的,TreeMap應該可以正常工作。 但是,不是添加兩個數組,而是添加每對值。

theMap.put(point1, worda);
theMap.put(point2, wordb);
theMap.put(point3, wordc);
theMap.put(point4, wordd);
for(int i=0; i< intArray.length; i++)
  theMap.put(intArray[i],strArray[i])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM