Android Firebase实时数据密钥顺序检查

Android Firebase实时数据密钥顺序检查,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,是否可以检查给定引用密钥之前或之后是否存在密钥 这是我的帖子节点: -LFdM9Dfy7t-xiK-pO5h -LFdPpn7wsRM3Y5TUPiN -LFdQ0x1T6OF_FiCeIWk -LFg41ZcFHgrI0VSY83v -LFiTmj1OceTiAYqCflV 假设我的引用密钥是'-LFdPpn7wsRM3Y5TUPiN'我想检查在我的引用密钥之前或之后是否存在密钥'-LFg41ZcFHgrI0VSY83v'。有点搞不清楚该怎么做。只需循环参考键,记住'-LFdPpn7wsRM

是否可以检查给定引用密钥之前或之后是否存在密钥

这是我的帖子节点:

-LFdM9Dfy7t-xiK-pO5h
-LFdPpn7wsRM3Y5TUPiN
-LFdQ0x1T6OF_FiCeIWk
-LFg41ZcFHgrI0VSY83v
-LFiTmj1OceTiAYqCflV

假设我的引用密钥是
'-LFdPpn7wsRM3Y5TUPiN'
我想检查在我的引用密钥之前或之后是否存在密钥'-LFg41ZcFHgrI0VSY83v'。有点搞不清楚该怎么做。

只需循环参考键,记住
'-LFdPpn7wsRM3Y5TUPiN'
'-LFg41ZcFHgrI0VSY83v'
的索引。然后检查哪个数字更大

编辑:

请尝试以下操作:

if( yourReferenceKeyArray.indexOf( first key ) > yourReferenceKeyArray.indexOf( second key ) ) 

只需在参考键之间循环并记住
'-LFdPpn7wsRM3Y5TUPiN'
'-LFg41ZcFHgrI0VSY83v'
的索引。然后检查哪个数字更大

编辑:

请尝试以下操作:

if( yourReferenceKeyArray.indexOf( first key ) > yourReferenceKeyArray.indexOf( second key ) ) 

引用键只是字符串,因此您可以按以下方式按字典顺序对其进行比较:

firstKey.compareTo(secondKey)
此方法根据顺序返回正、负或零
int

由于键的前48位是时间戳,因此键是按时间顺序排列的。

参考键只是字符串,因此您可以按以下方式按字典顺序对它们进行比较:

firstKey.compareTo(secondKey)
此方法根据顺序返回正、负或零
int

因为键的前48位是时间戳,所以键是按时间顺序排列的。

嗯,如果我们有数千个条目,这将是资源密集型的。编辑答案。看看changesUmm,如果我们有数千个条目,它将是资源密集型的。看看变化这是最好的解决方案,啊,我应该去更多地研究firebase密钥结构。非常感谢男士:)这是最好的解决方案,啊,我应该去研究更多关于firebase密钥结构的知识。非常感谢你,伙计:)