java实现将一个字符串按照逗号分隔成数组,如果分隔后数组长度大于900,创建长度为900的多个集合,将数组元素添加进去,如果不大于,直接返将数组转为集合返回
时间: 2023-05-26 19:01:56 浏览: 171
Java实现数组转字符串及字符串转数组的方法分析
```
public static List<List<String>> splitString(String str) {
String[] arr = str.split(",");
int length = arr.length;
if (length <= 900) {
return Collections.singletonList(Arrays.asList(arr));
}
List<List<String>> result = new ArrayList<>();
int count = length / 900;
int remainder = length % 900;
for (int i = 0; i < count; i++) {
List<String> list = Arrays.asList(Arrays.copyOfRange(arr, i * 900, (i + 1) * 900));
result.add(list);
}
if (remainder > 0) {
List<String> lastList = Arrays.asList(Arrays.copyOfRange(arr, length - remainder, length));
result.add(lastList);
}
return result;
}
```
解释:
1. 首先按照逗号分隔字符串得到字符串数组。
2. 判断字符串数组的长度是否小于等于 900。如果是,直接将数组转为集合返回。
3. 如果字符串数组长度大于 900,需要将数组分段成多个长度为 900 的集合。容量为 900 的集合个数应该是字符串数组长度除以 900 的结果。如果字符串数组长度除以 900 的余数大于 0,还需要将余数个字符串添加进最后一个集合中。
4. 使用 `Arrays.asList()` 方法和 `Arrays.copyOfRange()` 方法分别创建集合和截取字符串数组的子数组。
5. 最后将所有的集合添加进结果列表中并返回。
阅读全文