将字符串的数组列表拆分为其原始字符串元素



所以我有这个数组列表:

ArrayList<String> al = new ArrayList<String>();
for (int i = 0; i < arr1.length(); i++) {
JSONObject objectt = arr1.getJSONObject(i);
JSONObject triple = objectt.getJSONObject("triple");
String subject=triple.getString("s");
String predicate=triple.getString("p");
String value=triple.getString("o");
al.add(subject);
al.add(predicate);
al.add(value);
}

我想知道是否有一种方法可以将数组列表"al"拆分为for循环之外的原始字符串(主语、谓语、值(?

不要单独存储单个字符串,将它们存储在一个包含主题、谓词和值字段的对象中,如下所示:

public class Triple {
private String subject;
private String predicate;
private String value;
public Triple(String subject, String predicate, String value) {
this.subject = subject;
this.predicate = predicate;
this.value = value;
}
/* getters, toString, equals and hashCode if necessary... */
}
// . . .
List<Triple> al = new ArrayList<>();
for (int i = 0; i < arr1.length(); i++) {
JSONObject triple = arr1.getJSONObject(i).getJSONObject("triple");
String subject = triple.getString("s");
String predicate = triple.getString("p");
String value = triple.getString("o");
al.add(new Triple(subject, predicate, value));
}

然后,如果您想使用这些值,请调用getters:

// . . .
for (Triple t : al) {
String subject = t.getSubject();
String predicate = t.getPredicate();
String value = t.getValue();
// do something with them
}

相关内容

最新更新