回答
假設您已經完成了讀取文件並將其存儲到某種類型的集合中的所有樣板代碼。您可以根據每個字符串的第一個值對您的集合進行排序。
TreeSet<String> resultSet = myCollection.parallelStream().sorted(
Comparator.comparingInt((String e) -> Integer.parseInt(e.substring(0,e.indexOf(",")))))
.collect(Collectors.toCollection(TreeSet::new));
注 - 確保積聚到你的臨時回收之前閱讀文件,當你修剪所有的空格,從每個字符串,或者如果你願意,你可以在電話e.substring
即e.trim().substring(0,e.indexOf(",")))
之前修剪。
編輯
將上述溶液假定內myCollection
每個串能夠之前或定界符,
後具有大於1個的數字。但是,假定,
分隔符前後總是有1位數字,則不需要對數據進行排序,而是在讀取文件時使用TreeSet
作爲累加器集合,而不是HashSet
,因爲它會在添加字符串對象時對數據進行排序到收藏。
如果數字總是一位數字,你也可以這樣做:'Comparator.comparingInt((String e) - > e.charAt(0) - '0')' – BackSlash
這不是1位數字,它是3位數字。我已經使用HashSet
@MariosNikolaou見編輯,這應該就足夠了。 –
嗯,我不知道多少,但我建議一個while/for循環讀取每對(num1,num2)和if (num1>num2){num1 now has the value of num2, and vice versa}
。這將命令對。現在,我建議另一個用於/ while循環,通過每對的第一個數字去,和apllies排序算法,例如:
for(int i = 0; i<= numberOfPairs; i++){
int number = firstOfPair[i];
for(int j = i; j<=(numberOfPairs-i; j++){
if(firstOfPair[j] > number){
auciliarVariable = firstOfPair[j];
firstOfPair[j] = firstOfPair[i];
firstOfPair[i] = auxiliarVariable;
}
}
}
- 1. 使用一個鍵和一對值對地圖進行排序?
- 2. SQLite - 第一組 - 每個組合 - 排序和反對排序
- 3. 排序程序只顯示第一個和最後一個數
- 4. XSLT如果第一個爲空,則對第二個值應用排序
- 5. 當第二個和第三個值已知時,使用PHP對數組進行排序
- 6. 使用多個鍵排序Java對象
- 7. 使用Java對數組進行排序
- 8. Java - 如何根據第一個字母對地圖值進行排序?
- 9. Java 4:按2值對數組排序
- 10. 對第一個值的元組列表進行排序
- 11. 對一列中的第二個值進行排序rich:dataTable
- 12. 使用排序子數組鍵值對
- 13. 使用另一個數組的值對StdClass對象數組排序
- 14. 通過不是第一個維度的數值對多維數組排序
- 15. 按第二個值對二維數組排序
- 16. 交換數組中的第一個和最後一個值(JAVA)
- 17. 對齊和排序數據java
- 18. 如何使用另一個NSMutableArray的值對一個NSMutableArray的值進行排序?
- 19. Java:使用CollatorKey對一個集合進行排序
- 20. 根據要排序的數組中提供的值對2D數組的第一個元素進行排序
- 21. 基於第一個整數對列表進行排序
- 22. 根據第一個字排序對象數組
- 23. 使用Java代碼對1到100個整數進行排序
- 24. 使用自定義排序順序排序數組,一個值是最後
- 25. 使用Java 8 Streaming對一個集合進行分組和排序
- 26. 使用Java 8 Streams對一個集合進行分組和排序(clean solution)
- 27. 排序的對象值與兩個int和字符串INT的第一和第二串
- 28. 使第二個div不能使用角度可排序排序
- 29. 如何用兩個值對數組進行排序,權重第一個值爲1.5倍?
- 30. 如何從第一個表中排序數據第二個表#
閱讀文件,分析每一行的第一個數字,他們都比較做這種事。 – BackSlash
這是一個巨大的文件30 gb.It效率高? –
效率取決於您如何編寫代碼。我只給了你指導,因爲沒有代碼或真正的嘗試來解決你的問題。這個想法是,你閱讀文件,解析每行的第一個數字,並用它來執行自定義排序。對其進行編碼,如果您遇到困難或需要一些提示,請回到特定問題。 – BackSlash