美文网首页
list集合去重,不改变顺序

list集合去重,不改变顺序

作者: cmeizu | 来源:发表于2020-06-06 14:55 被阅读0次
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]

相关文章

网友评论

      本文标题:list集合去重,不改变顺序

      本文链接:https://www.haomeiwen.com/subject/otvxtktx.html