我試圖把我的頭包圍在Hazelcast Jets積累處理器中的雙功能用法。第一次嘗試是一個簡單的分鐘比較,但我提出的看起來很不雅觀。有沒有更好的方法來做到這一點?如何爲Hazelcast Jet制定一個優雅的頂點以獲得最小值?
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個字段的類:Type,Value,TimeStamp,並且我想獲得具有最低值的對象。
我的供應商是在max.double價值,這看起來不錯的新對象。我的修整機只是通過這個很好的物體。
但蓄電池看起來unneccesarily複雜。有沒有辦法避免必須將x強制轉換爲myObject兩次?或者更優雅的方式,只保留雙精度值,但最後還是返回對象?不需要迭代到整個映射以再次獲取最小值的對象?
^^我改名的飛行myObject的不公佈原始數據。 ;) –