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