【发布时间】:2015-12-07 07:06:52
【问题描述】:
public static ArrayList<Character> removeDuplicates (ArrayList<Character> data) {
ArrayList<Character> newList = new ArrayList<Character>();
for (int i = 0; i < data.size() - 1; i++) {
if (!newList.contains(data.get(i)))
newList.add(0,(data.get(i)));
}
return newList;
}
到目前为止,这是我的代码。我不明白这是怎么回事
【问题讨论】:
-
这是一个非常低效的实现,但它应该可以工作
-
我认为你总是将数字添加到索引 0,所以它只会覆盖 0。只需使用 add(data.get(i)) 将其添加到列表的末尾
-
@jackie 错了,他使用的是
add而不是set -
@Dici 感谢您的更正。我应该进一步阅读文档。 “在此列表中的指定位置插入指定元素。将当前位于该位置的元素(如果有)和任何后续元素向右移动(将其索引加一)。”
-
问题是,“不工作”是什么意思?