黑马程序员技术交流社区

标题: 集合问题求教 [打印本页]

作者: 李鑫246    时间: 2016-9-21 00:10
标题: 集合问题求教
在集合中有addAll这个方法,但是我们在学集合的时候并没有讲这个方法。
求教这个方法怎么用?有哪些限制?

作者: Jarc    时间: 2016-9-21 15:14
看看API啊,里面用法都有
作者: hysnxdss    时间: 2016-9-21 15:34
是将整个集合中的所有元素添加到新集合......<? extends E>表示集合中的数据类型可以是E及其子类
作者: lixuelin    时间: 2016-9-21 15:36
把一个集合的所有元素添加到另一个集合方法调用和add一样里面传一个集合注意写上泛型
你可以去试试定义两个集合

TreeSet<String> ts = new TreeSet<>();
                ts.add("1");
                ts.add("2");
                ts.add("3");
                TreeSet<String> ts1 = new TreeSet<>();
                ts1.addAll(ts);
                for(String str : ts){
                        System.out.println("第一个集合");
                        System.out.println(str);
                }
                for(String str1 : ts1){
                        System.out.println("第二个集合");
                        System.out.println(str1);
                }
作者: lipeng518    时间: 2016-9-21 15:36
addAll(Collection<? extends E> c)
          添加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序(可选操作)。
作者: 愿望变美    时间: 2016-9-22 00:16
c1和c2都是collection,
c1.addAll(c2);                //将c2中的每一个元素添加到c1中
c1.add(c2);                        //将c2看成一个对象添加到c1中
作者: 我心过往    时间: 2016-9-22 10:58
还是查api,搞懂api里的意思,你就很轻松的明白了
作者: 李鑫246    时间: 2016-9-22 21:27
Jarc 发表于 2016-9-21 15:14
看看API啊,里面用法都有

API好多看不懂,文字不好理解啊
作者: 李鑫246    时间: 2016-9-22 21:29
hysnxdss 发表于 2016-9-21 15:34
是将整个集合中的所有元素添加到新集合......

就是添加的的集合必须是添加到它的父类或者同类集合中?
作者: Fate_stay    时间: 2016-9-22 21:32
boolean addAll(int index, Collection<? extends E> c)
          从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。

api上的原话,意思是,这个方法有两个参数,第一个是角标,第二个参数是集合.方法的作用是将集合中的所有元素插入到调用集合的角标位置
作者: 18001105207    时间: 2016-9-22 22:31
可以直接添加整个集合的元素
作者: 愿望变美    时间: 2016-9-22 23:51
愿望变美 发表于 2016-9-22 00:16
c1和c2都是collection,
c1.addAll(c2);                //将c2中的每一个元素添加到c1中
c1.add(c2);                        //将c2看成一个对 ...

collection在没加泛型的情况下存的是Object类,什么对象都存的进去,加了的话就不行
作者: 姜磊_gJzPh    时间: 2016-9-22 23:52
这怎么会没教,上课没听课吧
作者: 愿望变美    时间: 2016-10-6 09:43
愿望变美 发表于 2016-9-22 00:16
c1和c2都是collection,
c1.addAll(c2);                //将c2中的每一个元素添加到c1中
c1.add(c2);                        //将c2看成一个对 ...

collection,可以存不同的数据类型,不影响
作者: 读书可以当饭吃    时间: 2016-10-6 11:27
和add差不多,只不过里面参数是集合,是一次性把参数的那个集合整个集合的元素都传进去了
作者: 李鑫246    时间: 2016-10-6 15:02
读书可以当饭吃 发表于 2016-10-6 11:27
和add差不多,只不过里面参数是集合,是一次性把参数的那个集合整个集合的元素都传进去了 ...

非常感谢!

作者: peterpan123    时间: 2016-10-7 22:06
查API,写段代码试一下功能.
作者: yanghaozhang    时间: 2016-10-7 23:37
同来学习,今天讲到了的,但是看各位大神的回复感受更深
作者: juanjuan    时间: 2016-10-7 23:55
addAll(),是把一个集合添加到另一个集合中,看API,有详解
作者: yu244934256    时间: 2016-10-8 00:19
查看API,试着再做,加深理解
作者: 李鑫246    时间: 2016-10-8 00:33
yu244934256 发表于 2016-10-8 00:19
查看API,试着再做,加深理解

嗯嗯,谢谢提醒





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2