(全面披露:本作一些功課,我似乎是無法搞清楚。)重複分組從排序的ArrayList到另一個的ArrayList
任務:識別重複的列表,並將它們添加到另一個ArrayList被打印出來。
規格:我不被允許使用除ArrayList以外的任何集合,所以我不能使用類似Set的東西。看來StackOverflow上的每個答案都建議使用Set,這就是爲什麼我決定提出這個問題的原因。
我到目前爲止已經嘗試:
public static void deleteDuplicates(List<String> list)
{
int pointer = 1;
List<String> duplicates = new ArrayList<String>();
for (int i = 0; i < list.size() - 1; i++) {
if (list.get(i).equals(list.get(pointer))) {
duplicates.add(list.get(i));
if (pointer == 1) {
duplicates.add(list.get(pointer));
} else if ((pointer + 1) == list.size() - 1) {
duplicates.add(list.get(pointer));
}
pointer++;
} else {
display(duplicates);
duplicates = new ArrayList<String>();
pointer++;
}
}
}
測試數據:
List<String> duplicated = new ArrayList<String>();
duplicated.add("3");
duplicated.add("3");
duplicated.add("30");
duplicated.add("46");
duplicated.add("46");
什麼是不工作:當列表的大小爲奇數,重複報告正確。當列表大小爲偶數時,只報告前兩個副本。
你想重複的從原來的列表中移除或者只是添加重複的另一個列表。 –