首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >修改java中的列表对象

修改java中的列表对象
EN

Stack Overflow用户
提问于 2017-09-26 06:06:37
回答 3查看 86关注 0票数 2

我有一个目标清单-

代码语言:javascript
运行
复制
List<Object> sample = new ArrayList<Object>(); 

它包含以下值-

代码语言:javascript
运行
复制
[This is an apple., Ram is a boy., What is your name?]. 

我想像这样修改它-

代码语言:javascript
运行
复制
[{ "q": "This is an apple." }, { "q": "Ram is a boy" }, { "q": "What is your name?" }]

该怎么做呢?

P.S -我对Java很陌生。谢谢你提前帮忙。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-26 06:12:22

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

代码语言:javascript
运行
复制
List<JSONObject> yourList = new ArrayList<JSONObject>();
for(Object obj: sample) {
    JSONObject jsonObj = new JSONObject();
    jsonObj.put("q",(String)obj);
    yourList.add(jsonObj);
}

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

票数 3
EN

Stack Overflow用户

发布于 2017-09-26 06:11:10

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

代码语言:javascript
运行
复制
class CustomObject {
   String q;
   ...getters, setters etc 
}

并进一步使用它作为

代码语言:javascript
运行
复制
List<CustomObject> = new ArrayList<CustomObject>();
票数 2
EN

Stack Overflow用户

发布于 2017-09-26 06:34:38

如果您使用的是jdk8或更高版本,请参见以下内容:

代码语言:javascript
运行
复制
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>,以及它只是您想要在您的列表中的键值对。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46418928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档