java高级AIP复习资料

1什么情况下使用集合
不知道要有多少个对象且长度不固定
 通过一个信息如(代号)来查询这个人的所有信息
  
    2.集合可以处理数组不能解决的两种方式    
    长度不固定,且不知道要有多少个对象时
    存储更多庞大的数据
    
    3.JAVA集合框架图
    顶级父类
    Collection 和Map
    Collection子类接口
    List 和 Set
    List的实现类:ArrayList 和LinkedList
    Set的实现类:HashSet TreeSet
    Map的实现类:HashMap 和TreeMap
    
    4.接口的特点
     Collection 无序 不唯一
     List  不唯一 有序
     Set   唯一 无需求
     Map 键值对
    5.ArrayList 使用场景:长度不固定,且遍历和随机查询效率高,插入删除效率低
    
    6.LinkedList使用场景:链表式结构,且插入删除效率高,遍历和随机查询效率低
    
    7.Set集合使用场景:去重
    
    8.Collection  List Set Map接口遍历的方法
    List
    普通for循环
    增强for循环
    Iterotar迭代器
    Set
    增强for循环
    Iterotar迭代器
        Map:
        遍历key 通过key————value
        通过迭代器Iterator实现遍历
        Iterator itor = keys.iterator();
        通过增强型for循环
        Set keys = x.keySet()
        遍历key---value对
        Set set  = x.entrySet();//获得键值对
        //遍历键值对的集合,把每个键值对(obj)---Map.Entry(键值对类型)拿出来
    
    9.泛型的本质:参数化类型
             作用:
              使用场景:泛型方法,集合上使用,泛型接口,泛型类,统一返回值
        10.Collections的常用静态方法5个:sort(),binarySearch(),max(),min(),reverse()
        11.Collections的排序:Colllects类可以对集合进行排序,
        查找和替换操作
         实现一个类的对象之间的比较大小
        该类要实现Comparable接口
         重写compareTo()方法

        12.枚举的定义:由一组固定的常量组成的类型
        13..枚举的好处:类型安全,易于输出,代码清晰
        14.包装类的注意点2点:
        包装类的构造方法的参数是String类型,且字符串为null,编译时通过,运行期报空指针异常
        Boolean包装类的构造方法参数时String类型,若字符串内容为true,则Boolean表示true,否则是false;
        15基本数据类型和引用数据类型的区别3点
              写法上,基本数据类型都是小写,引用数据类型都是大写
              使用时,基本数据类点不出来东西,但引用数据类型可以点出属性和方法
              基本数据类不能判空,引用数据类型可以判空
        16.八大基本类型和8大包装类
          byte short int long float double char boolean
          Byte,Short,Integer,Float,Double,Character,Boolean
        17. 包装类和基本数据类型的转换
        装箱:基本数据类型转换为引用包装类
        拆箱  包装类转换成基本数据类型
        注意点:2点:
        基本数据类型转成包装类(char只能放对应的类型的值而不能放String值,boolean放非TRue,true字符串都说显示false)
      包装类转换基本数据类:包装类不是代替基本数据类型,只是在需要时进行转换(集合只能存储堡垒类型,不能存储基本类型)
      
        18.Math类的方法7个
        Math.abs();
        Math.min();
        Math.Max();
        Math.sql();
        Math.random();
        Math.ceil();
        Math.floor();
        19.String类的使用方法12个
        length()长度
        concat()连接
        .equals()比较字符串
        .equlasIgnoreCase 忽略大小写
        .equalstoLowerCase 转换为小写
        .equalstoUpperCase 转换为大写
        .subString(int index)获得子字符串
        .subStriing(int beginindex,int endindex) 从begin开始捣endInde介绍,且不包含endIndex下标符
        .trim  截取字符串前后空格返回新的字符串
        .split  将字符串以“内包含的字符为分隔”,返回字符串数组
        .indexOf(char)内放char或者String字符串
        .lastIndexOf()
        20.字符串的连接2种:concat()连接,"+"连接
        21.StringBuffer和StringBuilder类的区别和场景
        场景:字符串转换为对象
        StringBuffer:单线程,安全,速度慢
        StringBUilder:多线程,不安全,速度快
        22.日期操作类Date类,Calendar类和SimpleDateFormat类的用法
        Date date = new Date()获得当前日期
        Calendar.day_of_week 指示一个星期中的某天
        月历要+1
        SimpleDateFormat sdf =  new SimpleDateFormat("YYYY-MM-DD");//规定日期输出格式
        String time  =sdf.format(date);\
        LocalDateTime  ldt = LocalDateTime.now()//获取计算机当前时间
        23.Random类的方法
        Random.nextInt(100);//[0,100)
        Random.nextInt(long Seed);
        24.File 类的作用:将文件内容保存到内存中
        25File类的方法
        isExit()文件是否存在
        isFile()判断是否是文件
        isDirectory()()判断是不是目录
        getName()获取文件名
        getPath()相对路径
        getAbsolutePath():绝对路径
        getDelete()删除文件
        length()文件内容长度
        mkdir()创建一个目录 只能创建一层
        mkdir()创建多层文件夹
        creatNewFile()创建文件
        26:输入流和输出流的定义和文件File的定义
        输入流:把文件内容输入到程序中
        输出流:从程序中把文件输出到磁盘
        相关记录或者数据放在一起的集合
        27.相对路径和绝对路径区别
        相对路径:从文件出发
        绝对路径:从盘符出发
        28.流的特点:2点
        先进先出的方式
        一组有序的数据序列
        29.读写文本文件的步骤4点
        导入包
        构造文件输出输入流
        读取写入文件的数据
        关闭文件流对象
        30.OutputStream类常用方法5个
          void write()()
          void wirte(byte[]bytes)
          void wirte(byte[]bytes,int off,int end)
            void.close()
            void .flush()
        31.InputStream类常用方法5个
         int read()
         int read(byte[]bytes)
         int read(byte[]bytes,int off,int end)
         void.close()
         int available()
        32:子类FileOutputStream常用的构造方法3个
        FileOutputStream fos = new FileOutputStream(File file);
            FileOutputStream fos = new FileOutputStream(String name);
        33.字符流的特点:
        抽象类,除了InputRead,OutputWrite,其他都必要用以字节流对象入参
        34字符缓冲流特有功能的方法:
           ButteredWrite;void newLine()写一行一行分隔符
           ButteredRead: String readLine();读一行文字 结果包含行的内容的字符串,不包括任何行终止字符如果流的结尾已经到达,则为null
        35:对象操作流的使用流名和对象反序列化流的流名
        对象操作类:ObjcetInputStream
        对象反序列化:ObjectOutputStream
        36.一个对象要想被序列化必须要实现什么接口: Serializable接口
        37多线程的定义:如果在一个进程中同时运行多个线程,用来完成不同的工作,则成为多线程
        38多线程好处:充分利用CUP资源  简化编程模型  带来良好的用户体验
        39线程的创建2种和启动
        Thread类
        Runnable接口
    对象名.    Start()//启动
        40线程的创建的步骤
             定义类继续Thread类
             重写run方法,编写线程执行体
             创建线程对象 然后调用start()方法启动线程
             定义类来实现接口Runnable
             重写run方法,编写线程执行体
             创建线程对象,然后调用start()方法启动线程
        41 比较两种创建线程的方式
        Thread类:编写简单,可直接操作线程
        适用于单继承
        Runnaable接口:
        避免单继承的局限性
        便于资源共享
        42 线程的状态5种
        创建状态
        就绪状态
        源运行状态
        组赛状态
        死亡状态
        43 线程方法6种
        优先级:void setPriority()
        休眠   void sleep()
        暂停  void yield()
        终止:void join()
        中断: void interrupt()中断线程
        boolean isAlive()测试线程是否处于活动状态
        44线程优先级最大和最小和默认值
        最大值是10,最小值是1,默认值是5
        提高优先级就是单纯的提高概率可能性,但在抢占cup时还是有可能先跳出优先级低的
        45线程之间的通信的3种方法
        wait()
        notify()
        notifyAll()
        46.XML是什么及特点2点
        可扩展标记语言
        特点:XML与操作系统和编程语言的开发平台无关
        实现不同系统直接的数据交换
        47作用:
        数据交互
        配置应用程序和网站
        Ajax基石
        48XML和JSON区别
        XML系统之间的通信存在两个系统,浪费流量,安全,报文头,报文体
        JOSN系统前后台之间进行通信,节约流量
        49DOM解析XML的是什么:文档对象模型  DOM把XML文档映射成一个倒挂的树
        50常用接口介绍
        Document:表示整个XMl文档
        常用方法 NodeLIst getElementsByTagName(String Tag)//   按文档顺序返回文档中指定标记名称的所有素集合
                                       Element createElement(String tagName)   创建指定标记名称的元素 
       常用接口:Node该文档树中的单个节点
方法:     NodeList getChildNodes()   获得该元素的所有子节点,返回节点集合       
  常用接口 Elemen XML文档中的一个元素
      String getTagName() 获取元素名称
        51 DOM解析XML文件步骤4个步骤:创建解析器工厂 DocumentBudderFactory(抽象类),创建解析器对象 DocumentBudder,解析器对象指定XML文件创建Document对象的parse()方法,以Document对象为起点操作DOM树(增删改查)
        52 保存XML文件的步骤4个
        TransformerFactory对象---创建Transformer对象-----DOmSource对象--StremResult对象---保存Transformer的对象 .transform(domSource,result);
        53Collection接口的通过方法
        clear()清除所有元素
        add()添加
        remove()移除
        contains()判断集合是否包含指定元素
        isEmpty()判断集合是否为空
        size()返回集合中元素的数量
        iterator()迭代器
        toArray()返回一个包含集合中所有元素的数组
        54 Iterator迭代器的步骤
        获取迭代器对象
     Iterator itor =  set.Iterator();
     判断是否存在下一个对象
    while(itor.hasNext()){
     返回要范围的下一个元素
      NEW new  = (NEW)itor.next()
        55.Map接口的常用方法
        remove()方法
        put(key,value)方法 增
        get(key) 通过key得到Value值
        clear()清除所有元素
        Set keySet()获取key的集合
        Collection value()获取所有value的值
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值