zoukankan      html  css  js  c++  java
  • List中Add()与AddAll()的区别

    我们在开发过程中经常会使用到List<Object> list=new ArrrayList<>(); 这个集合,Object 也可以是String、Integer等。

    当我们需要把list集合中的数据放到另外一个集合中(List、Set...),我们也许会使用循环遍历然后将对象存入到新的集合中,这样的方法确实可以实现效果,但是效率太低了。List中给我们提供了Add()、AddAll()二个方法可以帮我们解决这个问题。

    List<String> list = new ArrayList<>();
    List<List<String>> list1 = new ArrayList<>();
    List<String> list2 = new ArrayList<>();
    list.add("1");
    list.add("2");
    list.add("3");
    System.out.println(list);
    list1.add(list);
    System.out.println("add方法:"+list1);
    list2.addAll(list);
    System.out.println("addAll方法:"+list2);
    运行结果:

    [1, 2, 3]
    add方法:[[1, 2, 3]]
    addAll方法:[1, 2, 3]

    由运行结果可以看出来,add();方法是将集合作为一个list实例插入到List集合中了,只有一个实例。

    AddAll()方法则是相当于把 list 结果依此遍历又重新插入到新的List集合中,所以新的List集合中仍然有3个实例对象。

    list1与list2遍历结果如下:

    for (List list3 : list1) {
    System.out.println("list1遍历结果:"+list3);
    }for (String list4 : list2) {
    System.out.println("list2遍历结果:"+list4);
    }
    结果:

    list1 遍历结果:[1, 2, 3]
    list2 遍历结果:1
    list2 遍历结果:2
    list2 遍历结果:3

  • 相关阅读:
    JavaScript中的String对象
    JavaScript中String对象处理HTML标记中文本的方法
    JavaScript中的Array对象
    JavaScript对象基础知识
    开机后显示显示‘无信号’
    JavsScript的基本特点
    ASP.NET中默认的一级目录
    MVC每层的职责
    PHP sql注入漏洞修复(数字型)
    python self的含义
  • 原文地址:https://www.cnblogs.com/ming-blogs/p/10655071.html
Copyright © 2011-2022 走看看