Java笔记之数组,异常处理,集合知识要点

 1, 数组:

                int[] arr = new int[5];
                int[] arr = new int[]{}; -- > int[] arr = {,,,};

                int[][]  arr = new int[3][2];
                int[][] arr = {{1,2},{3,4},{5,6}}

                arr.length  -- 属性 获取数组的长度

                数组:  角标  -- 从0开始

                排序:  

                        选择排序 , 冒泡排序

                查找:   二分查找 --  折半查找

                                头角标  , 尾角标   , 中间角标 = (头角标+尾角标)/2

                                if(key>arr[mid]) min = mid+1;
                                if(key<arr[mid]) max = mid-1;

                Arrays 类:


        2, 异常

                        处理:

                                抓

                                        try{

                                                //可能发生异常的代码

                                        }catch( 异常的类型  变量名e)
                                        {

                                                //异常的处理

                                                //打印错误信息

                                        }
                                        [
                                         finally{

                                                        //无论是否产生异常, 此代码块都会被执行到

                                                        //断开连接, 流关闭
                                                
                                                }
                                        ]



                                抛

                                        throws  抛出的意思:   -- 一定是方法声明后, 直接写 throws 异常类
                                        
                                                在方法声明的时候, 表示在该方法中不处理异常, 抛出给方法的调用者来处理



                                        throw  -- 方法中写, 手动抛出异常

                                                          抛出的是异常的  对象

                                                          1, RuntimeException 或者其子类 :  直接抛出

                                                          2, Exception  : 必须要处理的异常

                                                                                                在方法声明的后面, 通过 throws  Exception
                
        
                                RuntimeException  和  Exception 的关系:


      常用类

                        包装类:

                                1,装箱和拆箱
                                
                        String  StringBuffer  StringBuilder 的区别

                        Math

                        System

                        Date

                        Calendar

                        SimpleDateFormat    yyyy-MM-dd HH:mm:ss:SSS

                        enum 类 -- 约束取值范围

                        单例模式  -- 保证了一个类在内存中只有一个对象

                                饿汉式  -- 一开始声明就创建对象

                                懒汉式  --  有个方法后, 在创建对象

                                步骤:

                                        1, 把类的构造方法私有化

                                        2, 在类中创建一个私有的 静态的 类对象

                                        3, 提供一个公共方法, 返回值的类型是本类的类型, 用static 修饰        

         集合

                
                        定义, 类型, 容量

                        Collection 接口  -- List接口 , Set接口

                        Collection<String> c = new ArrayList<String>();

                        类型: 可以存储任意数据类型

                        容量: 没有限制的 


                        List<String> list = new ArrayList<String>();

                        增加了  -- index 下标 有关方法   get(index)

                        ArrayList  底层是一个数组  -- 可变长度数组

                        可变长度的数组:  -- 数据类型是确定的, 但是个数不确定

                                        数据类型...变量名



                        ArrayList 特点:

                                在增删数据时, 可能有大量数据的移动, 所有效率较低

                                在查改数据时,  执行效率较快


                List的实现类:

        
                  1, ArrayList  底层采用的是数组的结构

                                优点: 快速访问, 查找元素较快  -- 查,改

                                缺点: 增删数据, 执行效率低

                                

                  2, LinkedList 底层采用的是链表的结构

                                优点: 增删数据时, 执行效率高

                                缺点:  访问较慢, 查,改效率低


                数据结构:

                                数组: 连续存储

                                栈        :        先进后出 , 后进先出, last in forst out -- LIFO

                                                代表的方法: pop()  push()

                                队列:  先进先出 , first  in first out  -- FIFO

                                                代表的方法:  poll()  offer()


                        Collection 接口                知道

                        List 接口                        重点 重点 重点

                        Deque 接口                        了解

                        ArrayList 实现类:  重点  重点  重点  重点

                        LinkedList 实现类:        知道

                        Vector 实现类:     了解