java将数组平均分割成多个
时间: 2023-09-17 22:09:53 浏览: 92
您可以使用以下代码将一个数组平均分割成多个子数组:
```java
public static int[][] splitArray(int[] array, int parts) {
int[][] result = new int[parts][];
int length = array.length;
int chunkSize = length / parts;
int leftOver = length % parts;
int index = 0;
for (int i = 0; i < parts; i++) {
int chunkLength = chunkSize + (leftOver-- > 0 ? 1 : 0);
int[] chunk = new int[chunkLength];
System.arraycopy(array, index, chunk, 0, chunkLength);
result[i] = chunk;
index += chunkLength;
}
return result;
}
```
该方法接收一个整数数组和要分割成的子数组数量,然后返回一个二维整数数组,其中包含指定数量的子数组。每个子数组的大小相等或相差不超过 1。
相关问题
java将JSONarray数组平均分割成多个
您可以使用以下代码将一个 `JSONArray` 平均分割成多个子数组:
```java
public static JSONArray[] splitJsonArray(JSONArray jsonArray, int parts) {
JSONArray[] result = new JSONArray[parts];
int length = jsonArray.length();
int chunkSize = length / parts;
int leftOver = length % parts;
int index = 0;
for (int i = 0; i < parts; i++) {
int chunkLength = chunkSize + (leftOver-- > 0 ? 1 : 0);
JSONArray chunk = new JSONArray();
for (int j = 0; j < chunkLength; j++) {
chunk.put(jsonArray.get(index++));
}
result[i] = chunk;
}
return result;
}
```
该方法接收一个 `JSONArray` 和要分割成的子数组数量,然后返回一个 `JSONArray` 数组,其中包含指定数量的子数组。每个子数组的大小相等或相差不超过 1。请注意,该方法是基于 `org.json` 库编写的。如果您使用其他 JSON 库,需要根据库的 API 进行相应的更改。
如何在Java中将包含多个子字符串的String对象分割成字符数组或列表?
在Java中,你可以使用`split()`方法来将包含多个子字符串的`String`对象分割成字符数组或列表。这个方法通常配合正则表达式使用。这里是一个基本的例子:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
String str = "Hello,World,This,Is,A,Test";
// 使用逗号作为分隔符分割字符串并转换为字符数组
char[] charsArray = str.split(",", -1);
System.out.println(Arrays.toString(charsArray));
// 使用逗号作为分隔符分割字符串并转换为List<String>
List<String> stringList = Arrays.asList(str.split(",", -1));
System.out.println(stringList);
}
}
```
在这个例子中,`split(",")`会按照每个逗号将字符串分割成多个部分,并返回一个字符数组或列表。注意,`-1`作为第二个参数告诉`split()`方法我们要包含所有的匹配项,而不是默认的只取到第一个。
阅读全文