我在redis(jedis)中保存了哈希值,如下所示:
使用" Set set = jedis.hkeys(sampleKey)"得到一个集合。然后由System.arraycopy转换为Array。 我检查了数组,数据存储就像" 01235 :: Test,01234 :: Real,01235 :: Real,01234 :: Test"。它不按顺序存储。
我需要按顺序获取数据.. 谁能在这里给我一个帮助〜!谢谢。
答案 0 :(得分:1)
尝试使用TreeSet而不是通用Set。
您更有可能无法直接投射,但您可以尝试:
TreeSet<String> set = new TreeSet<>();
按字段排序:
set.addAll(jedis.hkeys(sampleKey));
按价值订购:
set.addAll(jedis.hvals(sampleKey));
在TreeSet中,值按顺序存储。对于自定义对象,您必须实现Comparable,但对于基元,您不需要执行任何操作。
注意:请记住,对于字符串,顺序区分大小写,因为您使用的数字没有问题,但如果您使用单词,则会使用大写单词。