我有一個拉特,長,位置名稱的表。 我計算了距離當前位置的最近距離,並將距離添加到一個數組列表中,然後按升序排序。 接下來我在其他數組列表中添加了名稱。 現在我需要使用距其他列表的距離來按順序設置名稱。 如何做到這一點?使用另一個數組列表排序數組列表
回答
爲什麼不直接構造一個TreeMap,距離作爲鍵和名稱作爲值。這樣他們將始終按距離排序。
想必你有一些類,它包含的緯度,經度和地點名稱。您可以將此類的對象放入TreeSet
,比較器將當前位置作爲構造函數參數,並計算進行比較的距離。
我想你在這裏使用的數組太大了。如果你有兩個或更多的相關數據,你不應該把每一塊放到一個單獨的數組中。相反,創建一個類來保存所有相關數據(lat,long,distance和name),並且擁有一個擁有該類實例的數組(或者其他更能滿足您需求的集合,例如SortedList)。該類可以使用距離作爲度量來實現Comparable,因此可以按距離進行排序。
gr8 ans ...這就是我在類似情況下所做的! – aProgrammer
使用Arrays.sort()。你甚至可以不必在單獨的數組中添加每個當前距離。正確實施比較器。
在您的ArrayList
上做toArray()
後使用此功能。
問題的關鍵是如何將一個名稱數組與一個距離數組關聯(已排序)。 –
- 1. 從另一個數組列表添加到數組列表
- 2. 數組列表存儲到在c#另一個數組列表
- 3. 排序數組(或列表)
- 4. 排序數組列表
- 5. 數組排序列表
- 6. 排列數組數組列表
- 7. 無法排序使用Collections.sort一個數組列表,可比
- 8. Erlang:排序或排序函數的列表元組列表
- 9. 排序一個NumPy數組並排列另一個與它
- 10. PHP - 使用另一個陣列對數組進行排序
- 11. 分裂排序列表到多個列表或數組
- 12. C數組鏈接列表,將數組鏈接列表分配給另一個
- 13. 數組列表:如何查看一個列表中的數組是否在另一個列表中?
- 14. 使用合併排序對數組列表排序
- 15. 如何排序一個數組列表並設置另一個列表中的java相同的順序
- 16. 創建和排序的陣列/數組列表/列表
- 17. 排序基於嵌套數組列表
- 18. 檢查數組列表進行排序
- 19. 排序數組列表<object>
- 20. JS multidimentionnal數組排序列表
- 21. 如何排序numpy數組列表?
- 22. 在Java中排序數組列表
- 23. 按另一個列表的順序對一個列表排序
- 24. 按另一個表列排序表?
- 25. 使用另一個字節列表/數組來計算字節列表/數組中的出現次數
- 26. 使用另一個列表對一個鏈表進行排序
- 27. 用數組排列數組
- 28. 排序一個列表另一個
- 29. 排序數組與另一個數組的排序iphone sdk
- 30. 從另一個數組順序排序一個數組?
以距離爲關鍵的TreeMap是個好主意,但是如果有5個具有相同距離的條目呢? – Kent
嗯,好點。 :) – Tudor