就上述问题,你误会了我的想法,我是想按照这个顺序pin35 pin36 pin29 pin30 pin 31 pin1~pin28 pin 32~pin34
时间: 2024-01-28 14:04:56 浏览: 26
非常抱歉之前的误解。如果您想按照指定的顺序获取查询结果,您可以将索引值与对应的pin名称进行映射,并在循环中按照指的顺序获取结果。以下是一个示例代码:
```java
int[] pinIndexes = {35, 36, 29, 30, 31};
int[] pinRanges = {1, 28, 32, 34};
for (int i = 0; i < 36; i++) {
try {
Future<Object> future = completionService.take();
String pinName;
if (i < pinIndexes.length) {
// 获取指定顺序的pin35, pin36, pin29, pin30, pin31
pinName = "pin" + pinIndexes[i];
} else {
// 获取pin1~pin28和pin32~pin34
int rangeIndex = (i - pinIndexes.length) / 28;
int indexInrange = (i - pinIndexes.length) % 28;
pinName = "pin" + (pinRanges[rangeIndex] + indexInrange);
}
distinctData.put(pinName, future.get());
} catch (ExecutionException e) {
e.printStackTrace();
}
}
```
在上述示例中,我们使用两个数组来存储指定顺序的索引值和范围值。首先,我们遍历36个查询结果,并根据索引值的不同来判断需要获取的查询结果。
如果索引值小于`pinIndexes`数组的长度,表示需要获取指定顺序的`pin35`、`pin36`、`pin29`、`pin30`和`pin31`的查询结果。
如果索引值大于等于`pinIndexes`数组的长度,表示需要获取`pin1`到`pin28`和`pin32`到`pin34`的查询结果。我们通过计算范围值的索引和在范围内的索引,来计算对应的pin名称。
请根据您的具体需求,修改上述示例代码以适应您的应用场景。