我有一个LinkedHashMap。我想让Foo的索引为N。除了迭代直到找到它,还有更好的方法吗?:
int target = N;
int index = 0;
for (Map.Entry<String, Foo> it : foos.entrySet()) {
if (index == target) {
return it.getValue();
}
index++;
}
对于某些操作,我必须通过约50次的索引从映射中获取随机元素。该地图将包含大约20个项目。
谢谢
List<Entry<String,Foo>> randAccess = new ArrayList<Entry<String,Foo>>(foos.entrySet());
然后对于带有O(1)的索引N …
randAccess.get(N)
问题内容: 我想在elasticsearch中检查索引是否存在。如果不存在,则应创建索引并执行其他功能。我试图找到一个解决方案,但是没有找到完美的解决方案。任何人都可以有解决此问题的任何解决方案。 我正在使用Elasticsearch库。 问题答案: 根据索引操作和源代码,以下应该工作
问题内容: 我们有500多个表,想要确定哪些表没有主键。因为在大表上创建索引将有助于提高性能。 必需的命令-识别哪些表是HEAPS(因为它们没有聚簇索引) 问候 问题答案: 查找所有堆。但是,此问题与PK是否存在正交。堆可以具有非群集PK,而群集索引不一定是PK。要查找没有PK的表,可以使用。
我有一个查询,它利用了$lookup的管道功能,还使用了$expr。嗯,这很有效,但性能不太好。它在一个包含约4000个文档的集合中查找内容,并连接其他两个集合(使用$查找块)。运行大约需要2000ms,即使每个集合中只有几千个文档。 查询如下所示: 在此上运行explain()仅提供有关第一个$匹配块的信息。但如何确定管道中的$expr是否使用索引? 我尝试向管道中使用的所有字段添加索引,还尝试
问题内容: 我知道如何创建索引 以及如何检查索引是否已存在? 我需要检查它们的存在并创建它们(如果还不存在)。 问题答案: 您可以使用以下查询获取索引列表,它们的表和列: 从那里,您可以按索引名称或所涉及的列检查是否存在,并决定创建/跳过索引。
如何根据对象数组的条件获取所有索引?我已经尝试了下面的代码,但是它只返回第一次出现的代码。
问题内容: 在Swift中,是否有任何方法可以检查数组中是否存在索引而不会引发致命错误? 我希望我可以做这样的事情: 但是我明白了 致命错误:数组索引超出范围 问题答案: Swift中的一种优雅方式: