集合中的Collection方法

来源:互联网 发布:linux shell脚本编程 编辑:程序博客网 时间:2024/06/01 08:09

Collection存在集合中的共性方法,也是集合中的父类,请参考集合关系表,(图片来源于网络)



---|Collection: 单列集合

           ---|List: 有存储顺序, 可重复

              ---|ArrayList:    数组实现, 查找快, 增删慢

                                  由于是数组实现, 在增和删的时候会牵扯到数组增容, 以及拷贝元素. 所以慢。数组是可以直接按索引查找, 所以查找时较快

              ---|LinkedList:   链表实现, 增删快, 查找慢

                                   由于链表实现, 增加时只要让前一个元素记住自己就可以, 删除时让前一个元素记住后一个元素, 后一个元素记住前一个元素. 这样的增效率较高但查询低

              ---|Vector:   和ArrayList原理相同, 但线程安全, 效率略低

                               和ArrayList实现方式相同, 但考虑了线程安全问题, 所以效率略低

           ---|Set: 无存储顺序, 不可重复

              ---|HashSet

              ---|TreeSet

              ---|LinkedHashSet

---| Map: 键值对

       ---|HashMap

       ---|TreeMap

       ---|HashTable

       ---|LinkedHashMap


增加:

       1:add()   将指定对象存储到容器中

                      add 方法的参数类型是Object 便于接收任意对象

       2:addAll() 将指定集合中的元素添加到调用该方法和集合中

删除:

       3:remove() 将指定的对象从集合中删除

       4:removeAll() 将指定集合中的元素删除

修改

       5:clear() 清空集合中的所有元素

判断

       6:isEmpty() 判断集合是否为空

       7:contains() 判断集合何中是否包含指定对象

           

       8:containsAll() 判断集合中是否包含指定集合

                            使用equals()判断两个对象是否相等 

获取:   9:int size()    返回集合容器的大小

转成数组10: toArray()   集合转换数组


public static void main(String[] args) {Collection list1  = new ArrayList();list1.add("北京海淀");list1.add("山东青岛");list1.add("浙江杭州");list1.add("广东广州");System.out.println(list1);Collection list2 = new ArrayList();list2.add("java");list2.add(list1);list2.addAll(list1);System.out.println(list2);System.out.println(list2.size());Boolean remove1 = list1.remove("北京海淀");if(remove1){System.out.println("删除成功");System.out.println(list1);System.out.println(list2);}}


输出结果为:


由此可见。add(list1)是将整个list1集合当做一个对象,addAll(list1),是将list1中的每一个元素当做list2中的一个元素

当删除list1中的一个元素时,list2中的list1对象也会删除一个元素,但是使用addAll()方法添加的元素不会被删除










0 0
原创粉丝点击