我们如何获取ArrayList中最后一个added元素。我发现 this 解释了如何获取最后一个元素,但是最后添加的元素总是最后一个元素吗?
是的,正如其他人所说,
ArrayList
保留插入顺序。如果您想要最后添加的元素(仅当您始终使用 add(element)
添加元素时)只需输入以下内容:
yourArrayList.get(yourArrayList.size()-1);
您的答案在您所说的链接中:)
是的
ArrayList
,它保留插入的顺序
add()
在特定位置显式添加元素,在这种情况下,您需要通过自定义ArrayList实现来设置插入时间,并在检索最新插入的元素时考虑计算时间
或者最好有一个指向最后插入项目的参考,如Marko Topolnik建议的那样,在删除时也保持它
更好的办法是使用
LinkedHashSet
,如果你不关心集合的唯一性属性
如果您使用
add(element)
签名,则 ArrayList
中的最后一个元素始终是最后插入的元素。
如果您使用
add(index, element)
,您将无法确切知道哪一个是最后一个。创建 ArrayList
子类的最简单解决方案,它将在特殊变量中保存最后插入的元素。
getLast
List
都从
getLast
接口继承了一个方便的 SequencedCollection
方法。有关详细信息,请参阅JEP 431:排序集合。
List< String > letters = new ArrayList<>( List.of( "a" , "b" , "c" ) );
letters.add( "d" ) ;
String lastAddedLetter = letters.getLast() ;