把 GeoResultsRedisGeoCommandsGeoLocationString 分割5份
把 GeoResults<RedisGeoCommands.GeoLocation
- 获取 GeoResults<RedisGeoCommands.GeoLocation
> 中的所有元素数量。 - 计算每份应该包含的元素数量:总元素数量 / 5。
- 遍历 GeoResults<RedisGeoCommands.GeoLocation
> 中的所有元素,将它们添加到对应的分组中。 - 如果当前分组中已经包含了应该包含的元素数量,则创建一个新的分组,并将元素添加到新的分组中。
下面是一个可能的 Java 实现:
List<List<RedisGeoCommands.GeoLocation<String>>> splitGeoResults(GeoResults<RedisGeoCommands.GeoLocation<String>> geoResults, int numSplits) {
List<List<RedisGeoCommands.GeoLocation<String>>> splits = new ArrayList<>();
int totalSize = geoResults.getContent().size();
int splitSize = totalSize / numSplits;
int currSplitSize = 0;
List<RedisGeoCommands.GeoLocation<String>> currSplit = new ArrayList<>();
for (RedisGeoCommands.GeoLocation<String> geoLocation : geoResults.getContent()) {
currSplit.add(geoLocation);
currSplitSize++;
if (currSplitSize >= splitSize) {
splits.add(currSplit);
currSplit = new ArrayList<>();
currSplitSize = 0;
}
}
if (currSplitSize > 0) {
splits.add(currSplit);
}
return splits;
}
这个方法接收一个 GeoResults<RedisGeoCommands.GeoLocation
原文地址: https://www.cveoy.top/t/topic/bVSW 著作权归作者所有。请勿转载和采集!