Java中Vectors类的a.remove(a.size()-1)和a.remove(a.indexOf(a.lastElement()))有什么不同?它们会删除相同的元素吗?
a.remove(a.indexOf(a.lastElement()))给了我错误的输出,而a.remove(a.size()-1)给出了正确的输出。
注意:a是一个Java Vector,声明为
Vector<Integer> a = new Vector<Integer>();发布于 2021-04-22 18:44:45
a.remove(a.indexOf(a.lastElement()))是实现大致相同功能的一种非常间接的方法。
它获取向量中的最后一个元素,尝试查找指向该元素的最后一个元素的索引,然后删除该元素。
这与a.remove(a.size()-1)大致相同,因为如果向量包含的第二个对象是倒数第二个对象(即,last.equals(otherElement)返回true),那么这一项将被删除。
a.remove(a.size()-1)绝对是删除最后一个元素的更正确(也更快)的方法。
https://stackoverflow.com/questions/67211644
复制相似问题