zoukankan      html  css  js  c++  java
  • java ArrayList类, 集合 , Collection是接口

    集合框架(集合的由来及集合继承体系图)


    * A:集合的由来
    * 数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少


    * B:数组和集合的区别


    * 区别1 :
    * 数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值
    * 集合只能存储引用数据类型(对象)集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象


    * 区别2:
    * 数组长度是固定的,不能自动增长
    * 集合的长度的是可变的,可以根据元素的增加而增长


    * C:数组和集合什么时候用
    * 1,如果元素个数是固定的推荐用数组
    * 2,如果元素个数不是固定的推荐用集合


    * D:集合继承体系图

    集合框架(Collection集合的基本功能测试)
    * A:案例演示
    *
    基本功能演示

    boolean add(E e)
    boolean remove(Object o)
    void clear()
    boolean contains(Object o)
    boolean isEmpty()
    int size()



     集合框架(集合的遍历之集合转数组遍历)
    * A:集合的遍历
    * 其实就是依次获取集合中的每一个元素。
    * B:案例演示
    * 把集合转成数组,可以实现集合的遍历
    * toArray()
    *

    Collection coll = new ArrayList();
    coll.add(new Student("张三",23)); //Object obj = new Student("张三",23);
    coll.add(new Student("李四",24));
    coll.add(new Student("王五",25));
    coll.add(new Student("赵六",26));

    Object[] arr = coll.toArray(); //将集合转换成数组    
    for (int i = 0; i < arr.length; i++) {
    Student s = (Student)arr[i]; //强转成Student       才能访问student特有的方法   向下转型
    System.out.println(s.getName() + "," + s.getAge());   
    }

    集合框架(Collection集合的带All功能测试)
    * A:案例演示
    *
    带All的功能演示


    有两个集合    操作两个集合
    boolean addAll(Collection c)  //将集合A加入集合B中
    boolean removeAll(Collection c)  
    boolean containsAll(Collection c)    //判断调用的集合是否包含传入的集合
    boolean retainAll(Collection c)     //取交集

    Collection c1 = new ArrayList();
    c1.add("a");
    c1.add("b");
    c1.add("c");
    c1.add("d");

    Collection c2 = new ArrayList();
    c2.add("a");
    c2.add("b");
    c2.add("c");
    c2.add("d");
    c2.add("e");
    c2.add("f");

    //取交集,如果调用的集合改变就返回true,如果调用的集合不变就返回false
    boolean b = c1.retainAll(c2); //取交集
    System.out.println(b);
    System.out.println(c1);

  • 相关阅读:
    mysql replace into用法与坑
    MySQL主主复制3
    数据库分库分表sharding1
    70多G的Kindle电子书合集
    Laravel 之Service Providers
    Laravel之Service Container服务容器
    Laravel错误与日志处理
    Laravel系列 目录结构
    Linux环境变量设置指南
    Laravel系列2入门使用
  • 原文地址:https://www.cnblogs.com/yimian/p/6511460.html
Copyright © 2011-2022 走看看