1. 程式人生 > >JAVA核心技術I---JAVA基礎知識(資料結構基礎)

JAVA核心技術I---JAVA基礎知識(資料結構基礎)

一:陣列

(一)基本內容是與C一致的

(二)陣列定義和初始化

(1)宣告

        int a[];    //a沒有new操作,沒有被分配記憶體,為null
        int[] b;    //b沒有new操作,沒有被分配記憶體,為null(可以看做指標)
        
        int[] c=new int[2];    //為c分配了空間,且資料初始為0
        
        for(int e : c) {
            System.out.println(e);
        }

(2)初始化

        int
d[] = new int[] {0,2,4}; int d1[]= {1,3,5};  //最符合c

(三)陣列索引

(1)陣列的length屬性標識陣列的長度,從0開始,到length -1

(2)越界ArrayIndexOutOfBoundsException異常

(3)遍歷方式

        int d[] = new int[] {0,2,4};
        
        for(int e : d) {
            System.out.println(e);
        }
        
        for
(int i=0;i<d.length;i++) { System.out.println(d[i]); }
0
2
4
0
2
4

(四)多維陣列:不同之處在於可以實現不規則陣列

        //規則陣列
        int a[][] = new int[2][3];
        
        //不規則陣列
        int b[][];
        b=new int[3][];
        b[0] = new int[3];
        b[1] = new int
[4]; b[2] = new int[5]; int k=0; for(int i=0;i<b.length;i++) { for(int j=0;j<b[i].length;j++) { b[i][j]=k++; } } for(int[] items : b) { for(int item : items) { System.out.println(item); } }

二:JCF<Java Collection Framework>容器框架(同C++中STL)

(一)容器和容器框架了解

容器:能夠存放資料的空間結構
–陣列/多維陣列,只能線性存放 順序儲存
–列表/雜湊集/樹/.....      非順序儲存
容器框架:為表示和操作容器而規定的一種標準體系結構
–對外的介面:容器中所能存放的抽象資料型別
–介面的實現:可複用的資料結構
–演算法: 對資料的查詢和排序
容器框架優點:提高資料存取效率,避免程式設計師重複勞動
Java 1.1和以前的資料結構
–Vector, Stack, Hashtable,Enumeration等
Java1.2和以後,JCF集合框架
–功能更強大
–易於學習
–介面和實現分離,多種設計模式設計更靈活
–泛型設計

(二)結構分類

(三)介面,實現,演算法

(1)介面

(2)資料結構實現類

(3)演算法類