/*** 数组去重*/
public class ArrayDistinct {public static void main(String[] args) {ArrayList<Object> list = new ArrayList<>();JSONObject jsonObject1 = new JSONObject();jsonObject1.put("name","张三");jsonObject1.put("age",20);jsonObject1.put("gender","男");jsonObject1.put("money",200);JSONObject jsonObject2 = new JSONObject();jsonObject2.put("name","李四");jsonObject2.put("age",20);jsonObject2.put("gender","女");jsonObject2.put("money",100);list.add(jsonObject1);list.add(jsonObject1);list.add(jsonObject2);System.out.println(list);}
}
输出数组结果:
[{"gender": "男","money": 200,"name": "张三","age": 20},{"gender": "男","money": 200,"name": "张三","age": 20},{"gender": "女","money": 100,"name": "李四","age": 20}
]
预期结果:
[{"gender":"男","money":200,"name":"张三","age":20}, {"gender":"女","money":100,"name":"李四","age":20}]
实现方法:在输出前加上以下代码即可实现:
// 转为stream,利用distinct方法去重
list = list.stream().distinct().collect(Collectors.toList());
完整代码:
public class ArrayDistinct {public static void main(String[] args) {List<Object> list = new ArrayList<>();JSONObject jsonObject1 = new JSONObject();jsonObject1.put("name","张三");jsonObject1.put("age",20);jsonObject1.put("gender","男");jsonObject1.put("money",200);JSONObject jsonObject2 = new JSONObject();jsonObject2.put("name","李四");jsonObject2.put("age",20);jsonObject2.put("gender","女");jsonObject2.put("money",100);list.add(jsonObject1);list.add(jsonObject1);list.add(jsonObject2);System.out.println("去重前:"+list);// 转为stream,利用distinct方法去重list = list.stream().distinct().collect(Collectors.toList());System.out.println("去重后:"+list);}
}
输出: