list集合去重,不改变顺序
2020-06-06 本文已影响0人
cmeizu
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("001");
list.add("001");
list.add("002");
list.add("002");
list.add("003");
list.add("003");
list.add("003");
list.add("004");
System.out.println("去重之前:" + list);
List<String> tmp = list.stream().distinct().collect(Collectors.toList());
System.out.println("去重之后:" + tmp);
}
- 结测试结果展示
去重之前:[001, 001, 002, 002, 003, 003, 003, 004]
去重之后:[001, 002, 003, 004]
- 如果不用考虑去重后的排序可以用set来做
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("001");
list.add("001");
list.add("002");
list.add("002");
list.add("003");
list.add("003");
list.add("003");
list.add("004");
list.add("004");
list.add("005");
list.add("007");
list.add("007");
list.add("005");
list.add("008");
list.add("006");
list.add("006");
list.add("009");
list.add("009");
System.out.println("去重之前:" + list);
Set<String> tmp = new HashSet<>(list);
System.out.println("去重之后:" + tmp);
}
- 结果展示
去重之前:[001, 001, 002, 002, 003, 003, 003, 004, 004, 005, 007, 007, 005, 008, 006, 006, 009, 009]
去重之后:[001, 002, 003, 004, 005, 006, 007, 008, 009]
如果按顺序去重的结果应该是:
去重之后:[001, 002, 003, 004, 005, 007, 008, 006, 009]