今天在做项目时,需要将几个List进行合并,于是就用到了apache提供关于List操作的工具类ListUtils,但是在使用的过程中发现一些问题。

public static void main(String[] args) {
    List<String> list1 = new ArrayList<String>();
    list1.add("1");
    list1.add("2");
    List<String> list2 = new ArrayList<String>();
    list2.add("2");
    list2.add("3");
    list2.add("4");
    // 方法1, 为原始方法
    List<String> list = new ArrayList<String>();
    for (String str : list1) {
        list.add(str);
    }
    for (String str : list2) {
        list.add(str);
    }
    System.out.println(list);
    
    // 方法2, 使用工具类
    list = ListUtils.sum(list1, list2);
    System.out.println(list);

    // 方法3
    list = new ArrayList<String>();
    list.addAll(list1);
    list.addAll(list2);
    System.out.println(list); }

本以为打印结果一样的,但是实际结果不一样。

方法1的结果是:[1, 2, 2, 3, 4]

方法2的结果是:[1, 2, 3, 4]

方法3的结果是:[1, 2, 2, 3, 4]

原来工具类在合并是,会自动除去重复的元素,看来以后使用工具类时还需要多加注意,要不然会坑了自己的。

相关文章:

  • 2022-12-23
  • 2022-01-12
  • 2021-07-16
  • 2021-08-04
  • 2021-05-25
  • 2021-11-01
  • 2021-08-02
  • 2021-05-09
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-29
  • 2022-12-23
  • 2021-08-16
  • 2022-12-23
  • 2021-08-20
相关资源
相似解决方案