找出有序中的缺值——先复制一个从start到end的列表 A ,判断A中的元素是否与list内的元素相等,相等则删除列表A中的元素,最后剩余的元素就是要找的缺值
Topic source该方法同样适用于无序找值。但其中
for (int i=0; i < arry.size(); i++)
是廖老师不推荐的写法,也用到了get方法获取列表中的值,get(int)
方法只有ArrayList
的实现是高效的,换成LinkedList
后,索引越大,访问速度越慢。
对于无序查找,会出现索引超出范围的情况,修复代码如下:
for (int i=0; i < len; i++) {
for (Integer j:list) {
if (arry.get(i) == j) {
arry.remove(i);
// 修改处
//由于列表移除元素后,列表长度变化,索引会有超出范围的情况,需要重置长度、索引下标
len = arry.size();
i = 0;
}
}
}
- 1
Little虔