你如何拆分字符串数组

时间:2011-03-29 11:00:16

标签: java

  

可能重复:
  Grabbing a segment of an array in Java

我有一个String [],可能包含3个,6个,14个或20个元素。我想每次处理String []数组中的10个元素。

(例如,对于3或6,它将循环一次,两次为14或20)

5 个答案:

答案 0 :(得分:2)

您可以使用Arrays.copyOfRange获取数组的子范围。

答案 1 :(得分:0)

假设有String[] array

,您是否在寻找类似的内容?
int pos = 0;
while (pos + 10 < array.length) {
    // process array[pos] to array[pos + 9] here
    pos += 10;
}
// process array[pos] to array[array.length - 1] here

答案 2 :(得分:0)

使用它为每10个元素循环一个:

int index = 0;
while (index < array.length) do
{
  // process
  index = index + 10;
}

答案 3 :(得分:0)

String[] arr={"h","e","l","l","o"};
List<String> li = Arrays.asList(arr);
final int divideBy=2;
for(int i=0;i<arr.length;i+=divideBy){
    int endIndex=Math.min(i+divideBy,arr.length);
    System.out.println(li.subList(i,endIndex)); 
}

答案 4 :(得分:0)

两个嵌套循环:

    int[] nums = new int[14];
    // some initialization
    for (int i = 0; i < nums.length; i++) {
        nums[i] = i;
    }
    // processing your array in chunks of ten elements
    for (int i = 0; i < nums.length; i += 10) {
        System.out.println("processing chunk number " + 
                (i / 10 + 1) + " of at most 10 nums");
        for (int j = i ; j < 10 * (i + 1) && j < nums.length; j++) {
            System.out.println(nums[j]);
        }
    }

输出

processing chunk number 1 of at most 10 nums
0
1
2
3
4
5
6
7
8
9
processing chunk number 2 of at most 10 nums
10
11
12
13

我使用了int[]而不是String[],但它们是相同的。