如何获取ArrayList中最后添加的元素。我发现这里的解释说明了如何获得最后一个元素,但最后添加的元素是否总是最后一个元素呢?
是的,正如其他人所说,ArrayList
保留插入顺序。如果你想获取最后添加的元素 (仅在你始终使用 add(element)
添加元素时),只需键入以下内容:
yourArrayList.get(yourArrayList.size()-1);
你的答案在你提到的链接中 :)
是的,对于ArrayList
而言,它保留了插入的顺序。
如果您通过指定索引add()
在特定位置显式添加元素,则需要通过自定义ArrayList实现来设置插入时间,并在检索最新插入的元素时考虑该时间进行计算。
或者像Marko Topolnik建议的那样,最好使用一个指向最后插入项的引用,在删除时也要进行维护。
如果您不关心集合的唯一性属性,更好的选择是使用LinkedHashSet
。
add(index, element)
告诉它其他方式,否则不会发生改变。 - Peter LawreyArrayList
。 - Marko Topolnik如果您使用add(element)
签名,您在ArrayList
中的最后一个元素总是最后插入的元素。
如果您使用add(index, element)
,则无法确定哪个是最后一个。创建ArrayList
的子类以将最后插入的元素保存在特殊变量中是最简单的解决方案。
List< String > letters = new ArrayList<>( List.of( "a" , "b" , "c" ) );
letters.add( "d" ) ;
String lastAddedLetter = letters.getLast() ;
lastAddedLetter = "d"
add(element)
,它会将指定的元素附加到此列表的末尾。如果您使用add(index, element)
,则可以将其放置在任何位置。 - Peter Lawrey