【发布时间】:2012-09-11 15:25:37
【问题描述】:
我们如何获得ArrayList 中最后一个添加的 元素。我发现this 解释了如何获取最后一个元素,但最后添加的元素总是最后一个元素吗?
【问题讨论】:
-
如果你使用
add(element)是的,因为它“将指定的元素附加到这个列表的末尾。”如果你使用add(index, element),它可以在任何地方。
我们如何获得ArrayList 中最后一个添加的 元素。我发现this 解释了如何获取最后一个元素,但最后添加的元素总是最后一个元素吗?
【问题讨论】:
add(element)是的,因为它“将指定的元素附加到这个列表的末尾。”如果你使用add(index, element),它可以在任何地方。
是的,正如其他人所说,ArrayList 保留插入顺序。如果您想要最后添加的元素,(仅当您总是使用 add(element) 添加元素时)只需输入:
yourArrayList.get(yourArrayList.size()-1);
您的答案在您所说的链接中:)
【讨论】:
ArrayList 是,它保留插入顺序
如果您通过指定索引add() 将元素显式添加到特定位置,在这种情况下,您需要通过自定义ArrayList 实现来设置插入时间,并在检索最新插入的元素时考虑计算时间
或者最好有一个指向最后插入项目的引用,如Marko Topolnik 建议的那样,在删除时也要保持它
如果您不关心集合的唯一性属性,最好使用LinkedHashSet
【讨论】:
add(index, element)另外告诉它
ArrayList。
如果您使用add(element) 签名,您在ArrayList 中的最后一个元素始终是最后插入的元素。
如果您使用的是add(index, element),您将无法确切知道哪个是最后一个。创建ArrayList 的子类的最简单解决方案,它将最后插入的元素保存在特殊变量中。
【讨论】: