小编Jor*_*rge的帖子

在mongodb中使用findOne来获取具有最大id的元素

我试图从mongo集合中检索一个元素,一个具有最大_id字段的元素.我知道这可以通过查询来完成:

db.collection.find().sort({_id: -1}).limit(1)
Run Code Online (Sandbox Code Playgroud)

但它似乎有点不雅,我想知道是否有办法使用findOne()来获取该特定元素

注意:我想这样做是因为,根据我在ObjectId中读到的内容,第一个字节对应于自Epoch以来的毫秒数,因此,插入的最后一个元素将具有最大的_id.有没有其他方法来检索插入集合中的最后一个元素?

mongodb

54
推荐指数
2
解决办法
6万
查看次数

HashSet与ArrayList包含性能

处理大量数据时,我经常发现自己在做以下事情:

HashSet<String> set = new HashSet<String> ();
//Adding elements to the set
ArrayList<String> list = new ArrayList<String> (set);
Run Code Online (Sandbox Code Playgroud)

类似于"转储"列表中集的内容.我通常这样做,因为我添加的元素通常包含我要删除的重复项,这似乎是一种删除它们的简单方法.

只考虑到这个目标(避免重复),我也可以写:

ArrayList<String> list = new ArrayList<String> ();
// Processing here
if (! list.contains(element)) list.add(element);
//More processing here
Run Code Online (Sandbox Code Playgroud)

因此无需将该集"转储"到列表中.但是,在插入每个元素之前我会做一个小的检查(我假设HashSet也这样做)

这两种可能性中的任何一种显然更有效吗?

java arraylist hashset

33
推荐指数
4
解决办法
3万
查看次数

标签 统计

arraylist ×1

hashset ×1

java ×1

mongodb ×1