[英]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.