JAVAday25

 1.异常: 
      finally
   
   自定义异常类型:throw new 自定义异常类型();     
 Throwable: 类     
      Error: 
           VirtualMachineError 虚拟机错误
                OutOfMemoryError
                StackOverFlowError
      
      Exception:
         IOException
         RuntimeException
               NumberFormatException : "A" _--> 1   ""  ===>  1
              IllegalArgumentException
        
        throws 方法参数的后面   throw 代码块儿中
      
 2.集合框架体系: 
    Iterable: 包含了 迭代器 Iterator          iterator()
       
      Iterator: 
           hasNext(); , next() , remove();  不可以执行复合操作
     
         Collection: 单值
             List: 
                ArrayList: 使用对象数组实现的 Object[] 通过下标来获取元素
                     add(), remove(int index); remove(Object obj);
                     set(int index, Object obj); get(int index);
               增 ,  删 , 改 ,  查   操作
             
              indexOf(); 返回这个元素第一次出现的位置
              lastIndexOf();
              
              clear();  contains();  isEmpty(); subList(begin,end);
              
             Set:
         
         Map:   双值
            key - value 键值对
}
=========================================================
List:   把所有提供的方法 会使用就行
  ArrayList:
  LinkedList: 重要  双向链表实现的
  数据结构:  线性表 
                 数组:通过下标来 存取
                     链表:没有下标

链表; 
  单向链表: 向一个方向
  双向链表: 双向 方向
  循环链表: 头和尾巴可以向连
   
LinkedList:
    构造器:
    LinkedList(); 
       
  常用方法:
    add(Element e);
    add(int index, Element e );
     clear(); 清除
    contains(Object o); 
    get(int index);
    indexOf(Object o) 
    lastIndexOf(Object o) 
    remove(int index);
    remove(Object obj); 
    set(int index, E element);
    size();
    toArray();

 我们在使用集合存储数据后 ,进行 操作

 添加,删除: 使用LinkedList 
 获取 比较多 使用ArrayList
========================================================
List: 
  ArrayList:  线程不安全的 , 性能就快
  LinkedList:

  Vector: 和ArrayList的实现方式 一模一样 都是用 Object数组做的
     线程安全的 , 性能慢

   线程安全的类 : 有什么特点:  就是方法上多个一个 synchronized 单词
        同步锁

java.util.concurrent.*  并发包  1.5

在并发情况下使用:  高并发

已有 一个 "用户" 操作这个集合是 单线程

多线程     多个  "用户" 来同时 获取  

Vector的子类: 
  Stack存储数据原理: 
       常用方法:     
       empty(); 判断这个栈是否是空栈
       peek();  弹出;查看 但是 不删除
       pop();   弹出 , 查看, 删除
       push(); 压栈     
       search(Object o); 检索
       
            
入栈顺序是: 1 , 2 , 3 
  出栈的顺序有几种? 
A: 1 ,2 ,3 
B: 2 ,1, 3
C: 3, 2 ,1 
D: 1, 3, 2
E: 3 ,1, 2
F: 2, 3, 1
------------------------------------------------------
队列:
Queue: 接口     单向 链表
  Deque: 子接口   双向链表


Queue: 一个方向进 ,另一个方向出
  常用方法:
  add(E e); 添加  
  element(); 检索,但不删除,这个队列的头。  
                如果队列为null  抛出异常 没有这个元素异常
  offer(E e); 添加
  peek(); 查看   如果多列为null 返回特殊值 null 
  poll(); 检索删除,  返回特殊值 null
  remove();     检索删除 ---->  抛异常

       Deque:入口既 可以进 , 又可以出
         双向队列
          
          addFirst();
          addLast();
          getFirst();
          getLast();

         offerFirst(E e);
         offerLast(E e) 
          peek();
          peekFirst();
          peekLast();
         poll();
         pollFirst();
         pollLast() 
         pop()      
         push(E e);

线性表: 
  数组: 动态数组  
  链表:单链表,  双链表 , 循环链表
  栈:
  队列: 单向 ,  双向 

Collection: 
  List: 
        |-- ArrayList
        |-- LinkedList
        |-- Vector
             |-- Stack
  Queue:
     |-- LinkedList
     |-- Deque
          |--LinkedList
----------------------------------------------------      
String:

常用类: 
  Object: 
    final , finally , finalize() 区别
      == equals();      
  String: substring , split() , charAt(); toCharArray();
  StringBuffer:
  StringBuilder:
  
  Date  SimpleDateFormat
      getTime();           parse(String str); format(Date date);
  Integer 包装类     Character
       parseInt();
       valueOf();
  Random
  Scanner
  Math
----------------------------------------------------
StringBuffer:  字符串的缓冲区 ,线程安全, 性能慢
  是final 修饰的类 , 不能被继承;
     构造器: 
       StringBuffer(String str);
       StringBuffer(int capacity);
       StringBuffer();
    
         常用方法:
      append();
      charAt(int index);
      capacity()  
       delete(int start, int end)  
        reverse();  翻转输出
        length();
        insert(int offset, String str);
        
StringBuilder: 字符串缓冲区, 线程不安全 , 性能快
     

你可能感兴趣的:(java学习)