我正在重构我的旧代码,它涉及JSONArrays中的大量数据解析和JSONObjects操作。我想知道将JSONObjects存储在ArrayLists中是否有效。我还想要在更新和插入操作中使用什么样的集合来获得最佳性能?
答案 0 :(得分:0)
我认为最好的方法是使用jackson ArrayNode和其他有用的东西:
Maven依赖
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.3</version>
</dependency>
开始使用的代码:
ArrayNode jsonArray = new ObjectMapper().createArrayNode();
ArrayNode jsonArray = new ObjectMapper().createArrayNode();
jsonArray.addPOJO(myObject);
jsonArray.add(232);
jsonArray.add("Hi Stack");
jsonArray.add(anotherJsonArray);
的链接
答案 1 :(得分:0)
ArrayList更快。
JSONArray使用ArrayList。因此,如果您可以在ArrayList中做所需的事情,那将至少避免额外的引用。 。因此,如果您可以在ArrayList中执行所需的操作,那么这是一个更好的选择。如果您需要JSONArray的功能,但可以怀疑您的代码会更快。
答案 2 :(得分:-1)
JSONArray在内部使用ArrayList,因此它就像ArrayList上的包装器一样。我会说ArrayList和JSONArray之间没有显着差异。 JSONObject在内部使用HashMap。
对于集合,ArrayDeque是最快的,通过它最有效的方式是使用ArrayDeque和JSONObject而不是JSONArrays。