论坛首页 编程语言技术论坛

java 集合总体介绍

浏览 992 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2014-10-11  

     1、为什么引入了集合

   面向对象中,数据的封装用对象。存储多个对象时可以用集合或数组。

   集合和数组相比较的优势在于集合的长度是可以变化的,而数组在定义好后长度就固定了。另外集合里的各个元素类型也可以不同。

     2、集合是高度的抽象形成了集合框架

      

 

   3、集合对对象的存储方式和数组对数组元素存储方式相识,都是存储元素的地址

 如下所示:

定义了一个Collection的子类对象al,把Person类对象的p加入都集合里。



     左边是栈区,右边是堆区。执行al。add(p);

     Person实例在堆区的地址会复制到堆区的集合里,而不是把实例加入到堆区。

     

     4、集合的增删改查

    

    
   public static void main(String[] args){

        ArrayList al=new ArrayList();

      //添加元素(增)
      for(int i=0;i<5;i++){
      al.add("java"+i);
        }
      //获取数组元素长度,输出5
      sop("size:"+al.size());
     //打印数组,输出java0, java1,java2,java3,java4
      sop(al);
      //删除元素
      al。remove("java4");移除了java4这个对象
    //清空集合
      al.clear();
//判断元素
    sop("java03是否存在"+al.contains("java03"));//输出TRUE
  还有al。isEmpty();判断是否为空
}
  public static void sop(Object obj){//定义函数,减少代码冗余。
      System.out.println(obj);     
}

 

 

      5、集合和集合取交集,补集,我们完全可以喝数学学科的集合对比

 

  ArrayList al=new ArrayList();

 


   以上代码会输出al1:java01,jav02

                 al2:java03,java04,java05,java06
    al1.removeAll(al2);去掉al1和al2的相同部分,al剩余的就是al1

    更改后输出   al1:java03,jav04

                  al2:java03,java04,java05,java06。

 

6、待更新。

  • 大小: 37.2 KB
  • 大小: 51.9 KB
  • 大小: 43.4 KB
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics