Не храните отдельные строки отдельно, храните их в объекте, который имеет поля для субъекта, предиката и значения, например:
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));
}
Затем, если вы хотите использовать значения, позвоните получателям:
// . . .
for (Triple t : al) {
String subject = t.getSubject();
String predicate = t.getPredicate();
String value = t.getValue();
// do something with them
}