zoukankan      html  css  js  c++  java
  • list add() 和 addall()的区别

    http://blog.tianya.cn/post-4777591

    如果有多个已经被实例化的List 集合,想要把他们组合成一个整体,并且,这里必须直接使用List 自身提供的一个方法List.addAll(),否则使用了List.add()方法,则会输出不正常的信息。

         这里不能简单的使用List.add()方法,如果使用了List.add()方法,程序只能找到相应往List中添加的List 集合个数,而不会返回相应的全部结果集。

        这里就需要明白List.add() 和 List.addAll() 的区别了、、、

        1>List.add() 方法,也是往List 中增加list,但是,它增加的是一个List 实例。如果,往容器中增加的那个List 实例从数据库中查到的结果有5条,不过,如果使用了List.add(list1);程序只会输出一条记录。原因就是上面说的。List.add() 加List 实例,它会把这个看一个实例,而不是把那个看成一个容器。

        例如:List.add(list1),List.add(list2);List.add(list3),  这时,List.size 它的大小是3。

        List.add() 的含义就是:你往这个List 中添加对象,它就把自己当初一个对象,你往这个List中添加容器,它就把自己当成一个容器。

       2>List.addAll()方法,就是规定了,自己的这个List 就是容器,往里面增加的List 实例,增加到里面后,都会被看成对象。

        这时:List.add(list1),List.add(list2);List.add(list3),  这时,List.size 它的大小就是所有list 实例化后的总数和总的记录数。

       

        因此,当需要把多个List 实例放到一起的时候,必须使用List.addAll()方法。

        项目实例:

               String hqlImage = "from ImageMeta where 1=1";

                       //拼SQL

                hqlImage += fillCond(map,adAssetsForm);

                listImage = findByHQL(hqlImage, map);

                //视频

                String hqlVideo ="from VideoMeta where 1=1";

                //拼SQL

                hqlVideo += fillCond(map,adAssetsForm);

                listVideo = findByHQL(hqlVideo, map);

                //文字消息

                String hqlMessage = "from MessageMeta where 1=1";

                //拼SQL

                hqlMessage += fillCond(map,adAssetsForm);

                listMessage = findByHQL(hqlMessage, map);

                //综合

                list.addAll(listImage);

                list.addAll(listVideo);

                list.addAll(listMessage);

                return list;

  • 相关阅读:
    383. Ransom Note
    598. Range Addition II
    453. Minimum Moves to Equal Array Elements
    492. Construct the Rectangle
    171. Excel Sheet Column Number
    697. Degree of an Array
    665. Nondecreasing Array
    视频网站使用H265编码能提高视频清晰度吗?
    现阶段的语音视频通话SDK需要解决哪些问题?
    企业远程高清会议平台视频会议系统在手机端使用的必备要求有哪些?
  • 原文地址:https://www.cnblogs.com/circlebreak/p/5404737.html
Copyright © 2011-2022 走看看