关于java中数组的问题

现有个数组

String purview = "1,1,0,1,0,0,0,0,1,1,1,0";
Sting[] str = purview.split(",");

我如何把这数组中为“1”的index放到另外一个数组中?向各位请教下

[code="java"]import java.util.ArrayList;
import java.util.List;

public class Test {

public static void main(String[] args) {
    String purview = "1,1,0,1,0,0,0,0,1,1,1,0";
    String[] strs = purview.split(",");

    List strLocs = new ArrayList();

    int loop = 0;
    for (String str : strs) {
        loop++;
        if (str.trim().equals("1")) {
            strLocs.add(loop);
        }
    }

    Object[] locArrays = strLocs.toArray();

    for (Object loc : locArrays) {
        System.out.print("  " + loc);
    }
}

}[/code]

我只想到了一个最原始的,笨的方法.其实你也知道,只是不想用,就是循环数组判断值.

String purview = "1,1,0,1,0,0,0,0,1,1,1,0";
String[] str = purview.split(",");
String b ="";
for (int i = 0; i < str.length; i++) {
String string = str[i];
if ("1".equals(string)&&!"".equals(b))
{
b=b+","+i;
}else if("1".equals(string)&&"".equals(b))
{
b=b+i;
}
}
String [] c = b.split(",");

[code="java"]String purview = "1,1,0,1,0,0,0,0,1,1,1,0";
Sting[] str = purview.split(",");

List t = new ArrayList();
for(int i=0; i<str.length; i++){
if(str[i]!=null && "1".equals(str[i])){
t.add(""+i);
}
}
Object[] result = t.toArray();[/code]

不知道有没更好的方法