java 集合 list Arraylist Collection

1.异常

1.1 自定义异常
        因为在项目中会出现特有的问题 而这些问题并未被java描述,对于这些特有的问题 可以按照java的对问题封装的思想将特有的问题进行自定义的异常封装 

**自定义异常一定要是异常体系中的一员 也就是继承于 Exception 或者 RuntimeException
        java中只有异常体系的类 才具备可抛性
        当自定义类 继承于Exception时 是编译时异常 必须处理 try...catch / throws
        当自定义类 继承于RuntimeException时 是运行时异常 可以不用处理

        throw
            语法:
                访问权限修饰符 返回值类型 方法名(参数列表){
                    方法体;
                    throw 异常对象;
                }
        throws
            语法:
                访问权限修饰符 返回值类型 方法名(参数列表) throws 异常,异常,异常....{
                    方法体;
                }
            throw
                用在方法内部 抛出的是异常对象
                只能抛出一个异常对象
            throws
                用在方法声明上 抛出的是异常类名 
                用逗号分隔 可以抛出多个异常类名
    1.2 异常在继承中的注意事项
        1.子类重写父类的方法时 子类方法必须抛出相同的异常/该异常的子类异常/不抛出 <=
            不能抛出父类异常的父类 或者父类未抛出的异常
        2.如果父类的方法没有抛出异常 那么子类重写的方法也绝对不能抛出异常
            如果子类方法内部有异常 只能用 try...catch
    如何使用异常:
        原则:    如果该功能内部可能将问题解决 就try
            如果处理不了 交给调用者处理 就throws
        区别:
            后续程序需要继续运行 用try
            后续程序不需要继续运行 用throws
2.Collection集合
    2.1 什么是集合
        数组的长度是固定的 添加的元素如果超出 会出现异常
        java给我们提供了一个集合类体系 能够存储任意对象 且长度是可变的
        随着元素的增加而增加 随着元素的减少而减少
        数组和集合的区别?
        1.数组可以存放基本数据类型 也可以存放引用数据类型
            基本数据类型存的是值
            引用数据类型存的是地址值
            数组在创建的时候 就会规定它存储的数据类型是什么
            也就是说只能存储一种数据类型
          集合只能存储引用数据类型(对象)
            也可以存储基本数据类型(装箱)
                在存储基本数据类型会自动装箱为包装类
                集合在没有明确泛型限定之前 默认存储的都是Object类型
            也就是可以存储任意类型
        2.数组的长度 是固定的 不能自动增长
          集合的长度是可变的 根据元素的多少来决定长度

        什么时候用数组/集合?
            长度能够确定 用数组
            长度不能够确定 用集合
    2.2 Ccllection集合的常用方法
        Collection 是接口 是util包的
        不能被实例化
        使用多态的技术来创建子类对象 然后去使用父类引用 指向子类对象
        调用父类方法
        Collection c = new ArrayList();

        基本功能:
            boolean add(Object obj) 添加
            boolean remove(Object obj) 删除 指定的元素
            void clear() 清空
            boolean contains(Object obj) 包含
            boolean isEmpty()是空 返回true  非空返回false
            int size() 大小
        带All的功能:
            boolean addAll(Collection c) 将传入集合的每一个元素 添加到调用集合中
            boolean retainAll(Collection c) 取交集 将交集存储到调用集合中 没有交集 调用的集合被清空
                
            返回值 true false 有何决定?
                如果 调用的集合 由于调用而发生改变 则返回true
                如果 调用的集合 和传入的集合完全相同(调用的集合没改变) 返回false
        
            boolean removeAll(Collection c)调用的集合中 删除了 传入集合 删除交集
            boolean containsAll(Collection c) 判断调用集合 是否包含 传入集合 包含 返回true 不包含返回false
        其他的功能:
            Object[] toArray() 将集合转成数组
            Iterator iterator() 通过方法的调用 获取Iterator迭代器对象
 
    2.3 遍历集合的方式
            方式1 Object[] toArray() 将集合转成数组 
                普通for 循环 遍历集合 toArray()方法 将集合转成Object[]数组
            方式2 增强for循环
        
            格式
                for(元素类型 变量名:要遍历的范围){
                    循环体语句
                }
                变量名 随便写
                但是在增强for循环中 它代表的是当前遍历范围内的元素本身
            缺点:
                丢掉了索引
                就不能根据索引获取元素了
        Iterator 迭代器
            boolean hasNext() 如果仍有元素可以迭代,则返回 true。 
            E next() 返回迭代的下一个元素。 
            void remove() 从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。 

        
3.List集合
    3.1 List集合的特点
        元素是有序的(存入顺序和底层存储顺序一致)
        元素可重复
        有索引
    3.2 List集合的常用方法
        凡是可以操作角标的方法 都是该集合特有的方法
        增
            add(index,element)
            addAll(index,Collection)
        删
            remove(index)
        改
            set(int index, E element) 
        查
            get(int index) 
            subList(int fromIndex, int toIndex)  
        其他
            ListIterator<E> listIterator() 
    3.3 ListIterator

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值