繁体   English   中英

在Java中修改列表对象

[英]Modifying list object in java

我有一个对象清单-

List<Object> sample = new ArrayList<Object>(); 

它包含以下值-

[This is an apple., Ram is a boy., What is your name?]. 

我想这样修改它-

[{ "q": "This is an apple." }, { "q": "Ram is a boy" }, { "q": "What is your name?" }]

怎么做?

PS-我是Java新手。 感谢您的帮助。

您可以通过如下创建JSONObject列表来做到这一点:

List<JSONObject> yourList = new ArrayList<JSONObject>();
for(Object obj: sample) {
    JSONObject jsonObj = new JSONObject();
    jsonObj.put("q",(String)obj);
    yourList.add(jsonObj);
}

上面的代码将创建一个名为yourList的新列表, yourList带有所需的数据格式。

您可以将自定义模型用作:

class CustomObject {
   String q;
   ...getters, setters etc 
}

并进一步将其用作

List<CustomObject> = new ArrayList<CustomObject>();

这是如果您使用的是jdk8或更高版本:

import java.util.*;
import java.util.stream.*;

public class HelloWorld{

 public static void main(String []args){

    List<String> sample = new ArrayList<String>(Arrays.asList("This is an apple.", "Ram is a boy.", "What is your name?")); 
    System.out.println(sample);

   List<Map<String,String>> transformed = sample.stream()
            .map(p -> {Map<String,String> m = new HashMap<String,String>(); m.put("q",p); return m;})
            .collect(Collectors.toList());

     System.out.println(transformed);
 }
}

编辑:代替List<Map<String,String>>转换,您还可以使用Map.Entry<String,String>以及您想要在列表中使用的键值对。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM