[英]Method to sort alpha after removing duplicates java (collections)
使用 collections 和 java 中的數組列表,並編寫一個方法來獲取用戶輸入(列表)並將其放入一個刪除重復項的方法中,然后按字母順序對列表進行排序以打印。 我編寫的方法成功刪除了重復項,但不會按字母順序排序。 這是我的方法主體:
public static void sortNoDups(ArrayList<String> list) {
// e
ArrayList<String> printedList = new ArrayList<>();
System.out.println("\nWithout duplicates, sorted alphabetically:");
for (String i : list) {
if (!printedList.contains(i)) {
printedList.add(i);
Collections.sort(printedList);
System.out.print(i + " ");
}
}
System.out.println();
}
我也嘗試過不使用“Collections.sort(printedList)”這一行,而使用“Collections.sort(list)”也無濟於事。 如果需要,很高興從上面包含其他代碼,但我覺得我應該開始具體看看是否有任何我剛剛遺漏的明顯錯誤。
你的代碼很好——它正確地排序printedList
但你實際上並沒有把它打印出來。 現在,您的代碼正在遍歷原始list
。 您要打印的東西是System.out.print(i + " ");
這只是打印list
的下一個字符串。
要打印排序后的printedList
的內容,請將其添加到方法的末尾:
for (String s : printedList) {
System.out.println(s);
}
此外,您可能還希望將Collections.sort(printedList)
移到方法的末尾。 這樣,您將在最后調用一次sort
,而不是在for
循環中每次都調用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.