如何将由pojo类组成的Arraylist转换为java中的数组

时间:2017-06-01 00:43:40

标签: java android

我有一个名为"性能"的pojo课程。像这样

public class Performance {

    String productId;
    String productBrand;
    String productGraph;
    //getters and setters

我把它保存到名为" performanceList"的arraylist中。像这样:

JSONArray dataGraph=null;
JSONObject obj = new JSONObject(response);
dataGraph = obj.getJSONArray("product_list");

performanceList.clear();
for(int i=0;i<dataGraph.length(); i++){
    JSONObject jsonObject = dataGraph.getJSONObject(i);

    Performance performance = new Performance();
    if(!jsonObject.isNull("id")){
        performance.setProductId(jsonObject.getString("id"));
    }
    if(!jsonObject.isNull("brand")) {
        performance.setProductBrand(jsonObject.getString("brand"));
    }
    if(!jsonObject.isNull("sales")){
        performance.setProductGraph(jsonObject.getString("sales"));
    }
    performanceList.add(i, performance);
}

现在,请你帮我从arraylist中获取数据并将其转换为数组

String []brand = {/*getProductBrand from arraylist*/};
String []id = {/*getProductId from arraylist*/};
String []id = {/*getProductGraph from arraylist*/};

2 个答案:

答案 0 :(得分:0)

使用foreach或for循环

String[] brand = new String[performanceList.size()];


for(int i=0;i<performanceList.size();i++)
{

brand[i] = performanceList.get(i).getBrand();
.....
......
}

与其他领域相似。

答案 1 :(得分:0)

你可以在java8中使用stream.map()

List<String> productBrands = performanceList
                .stream()
                .map(el-> el.getProductBrand())
                .collect(Collectors.toList());

对el.getId()或您需要从Performance对象

收集的任何其他数据重复相同的操作