JAVA核心技术I---JAVA基础知识(数据结构基础)

时间:2022-12-28 13:34:50

一:数组

(一)基本内容是与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);
        }

JAVA核心技术I---JAVA基础知识(数据结构基础)

(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集合框架
–功能更强大
–易于学习
–接口和实现分离,多种设计模式设计更灵活
–泛型设计

(二)结构分类

JAVA核心技术I---JAVA基础知识(数据结构基础)

JAVA核心技术I---JAVA基础知识(数据结构基础)

(三)接口,实现,算法

(1)接口

JAVA核心技术I---JAVA基础知识(数据结构基础)

(2)数据结构实现类

JAVA核心技术I---JAVA基础知识(数据结构基础)

(3)算法类

JAVA核心技术I---JAVA基础知识(数据结构基础)