的源代码
clear():
public void clear() { modCount++; // Let gc do its work for (int i = 0; i < size; i++) elementData[i] = null; size = 0;}
的源代码
removeAll()(如中所定义
AbstractCollection):
public boolean removeAll(Collection<?> c) { boolean modified = false; Iterator<?> e = iterator(); while (e.hasNext()) { if (c.contains(e.next())) { e.remove(); modified = true; } } return modified;}
clear()更快,因为它不必处理所有这些额外的方法调用。
正如Atrey所指出的,与的O(n )相比,
c.contains(..)增加了
removeAllO(n 2)的时间复杂度
clear。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)