通过索引获取Hazelcast Map值

问题描述

如何按位置获取hazelcast缓存值。

HazelcastInstance hazelCast = Hazelcast.newHazelcastInstance();
IMap<String,String> map = hazelCast.getMap("map1");
map.put("t1","manu");
map.put("t2","chite");
map.put("t3","naveen");
map.put("t4","vinoda");

我的问题是,有什么方法可以通过位置获取

喜欢

map.values().position(1)

输出:-

chite

输出:-

解决方法

嗯,Java中有不同类型的地图实现,可以通过LinkedHashMap或TreeMap实现所需的功能,但是Hazelcast的IMap不支持此功能。实际上,IMap与Java Map完全不同。

此类不是通用的ConcurrentMap实现!虽然此类实现Map接口,但它有意违反Map的常规协定,后者要求在比较对象时使用equals方法。代替equals方法,此实现将比较对象的序列化字节版本。 此外,存储的值被视为具有值类型语义,而标准的Java实现将它们视为具有引用类型语义。