分组策略用java写
时间: 2023-12-03 09:42:07 浏览: 20
分组策略可以有多种实现方式,以下是一种简单的Java代码示例,可以根据具体需求进行修改和优化:
```java
import java.util.ArrayList;
import java.util.List;
public class GroupingStrategy {
/**
* 将元素按照指定的分组大小进行分组
* @param elements 待分组的元素列表
* @param groupSize 分组大小
* @return 分组后的列表
*/
public static <T> List<List<T>> group(List<T> elements, int groupSize) {
List<List<T>> groups = new ArrayList<>();
int size = elements.size();
int numOfGroups = (int) Math.ceil((double) size / groupSize);
for (int i = 0; i < numOfGroups; i++) {
int fromIndex = i * groupSize;
int toIndex = Math.min(fromIndex + groupSize, size);
groups.add(elements.subList(fromIndex, toIndex));
}
return groups;
}
public static void main(String[] args) {
List<Integer> elements = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
elements.add(i);
}
int groupSize = 3;
List<List<Integer>> groups = group(elements, groupSize);
for (List<Integer> group : groups) {
System.out.println(group);
}
}
}
```
在上述代码中,我们定义了一个静态方法 `group`,接收一个待分组的元素列表 `elements` 和一个指定的分组大小 `groupSize`,返回一个分组后的元素列表。具体实现过程如下:
- 根据元素列表的大小和分组大小计算出需要分成的组数 `numOfGroups`;
- 循环创建每一组,计算该组的起始索引 `fromIndex` 和结束索引 `toIndex`,并调用 `subList` 方法获取该组的元素列表;
- 将每一组的元素列表添加到结果列表 `groups` 中并返回。
在主函数中,我们创建了一个包含 10 个整数的列表,并指定分组大小为 3,然后调用 `group` 方法进行分组,并输出了分组后的结果。