设置一个循环用来遍历数组,一个慢一步,,一个快一步,当到了数组末尾或者快的与慢的下标对应的元素相等就退出,,退出循环后再检测“快的与慢的下标对应的元素相等”这一条件,如果是就说明有重复元素。否则没有。
需要写一个方法,把json数据转换成list集合数据public static List jsonToBean(String data, Object bean) {
List list = new ArrayList()
try {
JSONArray array
try {
array = new JSONArray(data)
for (int i = 0i <array.length()i++) {
Object toBean = getBean(bean)
JSONObject ob = new JSONObject()
ob = (JSONObject) array.get(i)
toBean = jsonStrToBean(ob, toBean)
list.add(toBean)
}
return list
} catch (JSONException e) {
try {
Object obj = null
JSONObject jsonObj = new JSONObject(data)
Object toBean = getBean(bean)
toBean = jsonStrToBean(jsonObj, toBean)
list.add(toBean)
return list
} catch (JSONException e1) {
log.error("Error covert String to JSONObject", e)
e1.printStackTrace()
}
e.printStackTrace()
log.error("Error covert String to JSONArray", e)
}
} catch (SecurityException e) {
e.printStackTrace()
}
return list
}