我正试图围绕 Hazelcast Jets 累积处理器中的双功能使用。第一次尝试是一个简单的最小比较,但我想出的东西看起来很不雅。有更好的方法吗?
Vertex min = dag.newVertex("min", accumulate(()
-> new myObject(Type.SOME_ENUM,Double.MAX_VALUE,0L),
(cMin, x) -> (((myObject) x).getValue() < cMin.Value()) ? (myObject) x) : cMin,
(cMin) -> cMin));
基本上我有一个包含 3 个字段的类:类型、值、时间戳,我想获取具有最低值的对象。
我的供应商是一个新对象,其值为 max.double,看起来不错。我的终结者只是把手穿过物体,这也很好。
但是蓄能器看起来过于复杂了。有没有办法避免将 x 强制转换为 myObject 两次?或者一些更优雅的方式,只保留双精度值,但最后仍然返回对象?无需迭代整个地图以再次获取最小值的对象?