JAVA核心API(下)


第八章 JAVA集合

第一節:Java集合的引入

  數組的長度是固定,不能根據我們的需求自動變長或者變短。所以就引入了可變化長度的集合。
第二節:List集合

  List集合里的元素是可以重復的。List接口的主要實現類有ArrayList,和LinkedList。

  在數據量不大的情況下,這兩個類性能差別不大,一般情況下,集合里的元素很少變化的,一般用ArrayList,

  1. 數據量較大時在隨機查詢方面ArrayList比較優秀,在ArrayList中進行隨機訪問所消耗的時間是固定的而LinkedList是不支持快速的隨機訪問的。

  2. 假如有一個列表,要對其進行大量的插入和刪除操作,在這種情況下LinkedList就是一個較好的選擇。

  當一個元素被加到ArrayList的最開端時,所有已經存在的元素都會后移,這就意味着數據移動和復制上的開銷。相反的,將一個元素加到LinkedList的最開端只是簡單的為這個元素分配一個記錄,然后調整兩個連接。

  參考: http://pengcqu.iteye.com/blog/502676
第三節:集合的遍歷

 /**
         * 用Iterator遍歷集合
         */
        Iterator<Student> it=list.iterator();  // 返回一個迭代器
        while(it.hasNext()){
            Student s=it.next();   // 返回迭代的下一個元素。
            System.out.println("姓名:"+s.getName()+"年齡:"+s.getAge());
        }


 /**
         * 用foreach遍歷
         */
        for(Student s:list){
            System.out.println("姓名:"+s.getName()+"年齡:"+s.getAge());
        }
View Code

第四節:Set集合

  Set集合是Collection接口的子接口,沒有對Collection接口進行擴展,里面不允許存在重復的內容;HashSet--無序,不重復。
第五節:Map集合

  HashMap

 

第九章 JAVA多線程

第一節:Java多線程的引入
第二節:Java多線程的實現

  1,繼承Thread類

  2,實現Runnable接口

  3,多線程實現數據共享

  http://blog.java1234.com/blog/articles/230.html
第三節:線程狀態

  QQ鍥劇墖20161213195251.png
第四節:線程常用方法

  1,getName(); 返回該線程的名稱。

  2,currentThread();返回對當前正在執行的線程對象的引用。

  3,isAlive();測試線程是否處於活動狀態。

  4,sleep();線程休眠。

  5,setPriority(int newPriority);更改線程的優先級。

  6,yield();暫停當前正在執行的線程對象,並執行其他線程。

  http://blog.java1234.com/blog/articles/232.html
第五節:線程同步

  可以給方法加同步,也可以用同步塊:

   http://blog.java1234.com/blog/articles/233.html

第十章 JAVA IO流

第一節:IO流簡介

  IO 流的分類

  根據處理數據類型的不同分為:字符流和字節流

  根據數據流向不同分為:輸入流和輸出流

QQ鍥劇墖20161219090947.png
第二節:文件操作 File類

  1,public boolean mkdir() 創建此抽象路徑名指定的目錄。

  2,public boolean createNewFile() 創建一個文件

  3,public boolean delete() 刪除此抽象路徑名表示的文件或目錄。如果此路徑名表示一個目錄,則該目錄必須為空才能刪除。

  4,public boolean exists() 測試此抽象路徑名表示的文件或目錄是否存在。

  5,public File[] listFiles() 返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的文件。

  6,public boolean isDirectory() 測試此抽象路徑名表示的文件是否是一個目錄。

  http://blog.java1234.com/blog/articles/235.html

  File file=new File("C://apache-tomcat-7.0.63");...運行輸出:C:\apache-tomcat-7.0.63

     系統中的路徑都是“\”, 在java中需要轉義“\\”, 如果寫成“//”或者“/”也沒問題(本人驗證過)。

   
第三節:InputStream和OutputStream

  InputStream輸入流可以把文件從硬盤讀取到內存;

  OutputStream輸出流可以把文件從內存寫入到硬盤;文件操作方面用的是FileInputStream和FileOutputStream;

  http://blog.java1234.com/blog/articles/237.html
第四節:BufferedInputStream和BufferedOutputStream

帶緩沖的輸入和輸出流;緩沖的概念,就是在A,B之間建立內存緩沖區,讀取得快,就先放緩沖區,然后再從緩沖區寫入指定目標,和沒有緩沖比,效率快很多。

public class Demo01 {

    /**
     * 緩沖方式
     * @throws Exception
     */
    public static void bufferStream()throws Exception{
        BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream("c://《一頭扎進J2SE》V2.0視頻筆錄2.doc"));
        BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream("c://復制的《一頭扎進J2SE》V2.0視頻筆錄2.doc"));
        int b=0;
        long startTime=System.currentTimeMillis();
        while((b=bufferedInputStream.read())!=-1){
            bufferedOutputStream.write(b);
        }
        bufferedInputStream.close();
        bufferedOutputStream.close();
        long endTime=System.currentTimeMillis();
        System.out.println("緩沖方式話費的時間:"+(endTime-startTime));
    }
    
    
    /**
     * 非緩沖方式
     * @throws Exception
     */
    public static void stream()throws Exception{
        InputStream inputStream=new FileInputStream("c://《一頭扎進J2SE》V2.0視頻筆錄.doc");
        OutputStream outputStream=new FileOutputStream("c://復制的《一頭扎進J2SE》V2.0視頻筆錄.doc");
        int b=0;
        long startTime=System.currentTimeMillis();
        while((b=inputStream.read())!=-1){
            outputStream.write(b);
        }
        inputStream.close();
        outputStream.close();
        long endTime=System.currentTimeMillis();
        System.out.println("非緩沖方式話費的時間:"+(endTime-startTime));
    }
    
    public static void main(String[] args) throws Exception {
        //stream();
        bufferStream();
    }
}
View Code

第五節:Reader和 Writer

   主要用於文本的讀取和寫入,一般使用的實現類是FileReader和FileWriter;

  http://blog.java1234.com/blog/articles/239.html

 

第十一章 JAVA debug斷點調試

第一節:斷點調試的重要性
第二節:eclipse debug使用基本操作
第三節:常見調試 F6 單步 F8完成 F5進入方法
第四節:ctrl+shift+i 查看表示式值
第五節:運行時動態修改變量值

  http://blog.java1234.com/blog/articles/245.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM