Go语言数组去重

Python022

Go语言数组去重,第1张

在使用Go语言的时候,碰到了需要对数组进行去重操作的问题。Java语言有Set集合这个数据结构,可以很方便的将数组转为集合,但是Go语言没有Set,如果仅仅是因为去重操作就手动实现一个Set太繁琐了。可以根据Go语言中的map的特性来简单实现一下

这个是对字符串数组去重操作。可以根据需要的类型稍作修改即可。需要注意的是只支持可以作为map键的结构进行去重!

需要写一个方法,把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

}