Java中的集合Colleciton

集合的由来?
  学生的面向对象语言,面向对象语言对事物的描述是通过对象体现的,那么需求需要来存储多个对象.
 要存储多个对象,不能使用基本类型的变量,需要使用容器类型的变量? 学习过哪些容器变量? 数组 ,字符串缓冲区(StringBuffer)
 对于字符串缓冲区来说,在内存中始终存储的是字符串,不能满足要求;数组呢,数组的长度是固定的,不符合长度编号的要求,所有Java提供了一个 Collection 集合;
 数组和集合的区别?
  1)长度区别:
  数组长度固定
  集合长度可变
  2)内容的区别
  数组可以存储同一种类型的元素
  集合可以存储多种类型的元素
  3)存储类型的区别
  数组:可以存储基本类型,也可以存储引用类型 String[] str = {"hello","world","java",100} ; 错误的
  集合:只能存储引用类型
 
 集合:Collection:子接口有两个,两个子接口分别对应多个子实现类,多个集合数据结构不同,但是他们有共性内容,将共性内容
 抽取出来,就可以集合继承体系图!
 
 数据结构:数据的存储方式
 
 Collection:
  Collection 层次结构 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。
  JDK 不提供此接口的任何直接 实现:它提供更具体的子接口,更具体的实现类
 基本功能:
         添加功能:
boolean add(Object e)
         删除功能:
  void clear() :删除集合中所有元素(暴力删除)
  boolean remove(Object o):删除集合中的指定元素
         判断功能:
  boolean contains(Object o):集合中是否包含指定的元素
         获取功能:

  int size() :获取集合中的元素数

Colleciton的集合的高级功能:
          boolean addAll(Collection c)  :添加一个集合中的所有元素
          boolean removeAll(Collection c):删除的高级功能(思考:删除一个算是删除还是删除所有算是删除?)

          boolean containsAll(Collection c):包含所有元素算是包含,还是包含一个算是包含

      //boolean containsAll(Collection c):包含所有元素算是包含,还是包含一个算是包含
//结论:包含所有算是包含
      // System.out.println("containsAll():"+c1.containsAll(c2));

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

    System.out.println(c.isEmpty());
 
  boolean retainAll(Collection c) :交集功能:   A集合对B集合取交集元素  :思考

  boolean 表达的是什么意思,交集的元素是去A集合还是去B集合中

        // boolean retainAll(Collection c):A集合对B集合取交集,交集的元素到底是去A集合还是去B集合中,
//返回值boolean表达什么意思?
 结论:A集合对B集合取交集,交集的元素要去A集合中,boolean返回值表达的A集合的元素是否发生变化,如果发生变化,则返回true,否则,返回false
System.out.println("retainAll():"+c1.retainAll(c2));

  boolean removeAll(Collection c):删除一个集合中所有元素: 思考: 删除一个元素算是删除还是删除所有算是删除?

   例句:// boolean removeAll(Collection c):删除的高级功能(思考:删除一个算是删除还是删除所有算是删除?)
//结论:删除一个算是删除...

             // System.out.println("removeAll():"+c1.removeAll(c2));

 
          转换功能:

  Object[] toArray() :将集合转换成数组

               例句:

Object[] objs = c.toArray() ;//将集合转成数组

                        String str = (String) objs[x] ;  //相当于:向下转型
System.out.println(str+"----"+str.length());//可获得数组长度。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值