从ArrayList对象构造一个新的特定字段数组

时间:2014-09-22 11:07:13

标签: java android arraylist

我有一个具有int和字符串的类,如下所示:

public class Data {
    int _value;
    String _name;
}

我有一个名为list

的ArrayList
ArrayList<Data> list;

有没有办法从ArrayList构造一个_values数组和另一个_names数组?

谢谢!

3 个答案:

答案 0 :(得分:1)

我认为你应该遍历arraylist并通过这样做来创建两个数组。 类似的东西:

int[] value = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
  value[i] = list.get(i).getValue();
}

答案 1 :(得分:1)

您需要创建两个新列表,一个包含值,另一个包含名称。

如果您想使用数组,可以使用以下代码段:

int[] values = new int[list.size()];
String[] names = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
    values[i] = list.get(i)._value;
    names[i] = list.get(i)._name;
}

但您也可以使用ArrayList s:

ArrayList<Integer> values = new ArrayList<Integer>();
ArrayList<String> names = new ArrayList<String>();
for (int i = 0; i < list.size(); i++) {
    values.add(list.get(i)._value);
    names.add(list.get(i)._name);
}

答案 2 :(得分:0)

int valueArray[] = new int[list.size()];
String nameArray[] = new String[list.size()];
for(int i = 0; i < list.size(); i++){   
    valueArray[i] = list.get(i)._value; 
    nameArray[i] = list.get(i)._name;
}