用于获取列表大小和最后一个对象的 Java 常用实用程序
即使制作句柄很容易,但我想知道是否有任何著名的助手可以帮助获取列表的大小或获取列表的最后一个对象。我认为这确实是一个受欢迎的要求,但我找不到一个。
size = list==null? 0: list.size();
lastObject = isEmpty(list)? null:list.get(list.size() - 1).
谢谢,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这些对我来说似乎没什么帮助。我尝试初始化我的列表,使它们不为空,因此第一个列表根本没有用。至于第二个,返回一个可能为空的对象(然后必须测试它是否为空)并不比首先检查列表的大小更有用。
Those don't seem all that helpful to me. I try to initialize my lists so they're not null, so the first one is not useful at all. As for the second, it's no more useful to get back a possibly-null object (which then has to be tested to see if it's null) than it is to check the size of the list first.
据我所知,没有辅助方法。您应该确保的一件事是,在编写自己的帮助实用程序时,请特别注意您的目标集合。如果它是一个
List
,请避免使用get(index)
,因为它对于链表实现来说不是很有效。如果它是一个ArrayList
或一般来说任何实现RandomAccess
的集合,get
是非常有效的。最通用的方法是获取最后一个元素的迭代器,并在其存在时调用next()
。There isn't a helper method for this AFAIK. One thing you should make sure is that when writing your own helper utility, pay special attention to your target collection. If it is a
List
, avoid usingget(index)
since it is not very efficient for a linked list implementation. If it is anArrayList
or in general any collection which implementsRandomAccess
,get
is very efficient. The most generic way would be to obtain an iterator for the last element and invokenext()
on it if it exists.Google Guava 有 getLast 方法。但是,我找不到处理空集合的大小方法。
Google Guava has a getLast method. However, I couldn't find a size method that handles null Collections.