数组及基本数据结构的总结
数组可以理解为是一个容器,在数组中可以放其他的东西,数组一旦定义,它的长度就是固定的,数组是有序的,数组中每个元素都有一个唯一的索引位置,这个索引值从0开始,最大数组长度-1.
取得数组的长度可以直接用数组名.length,数组中的元素个数不能超过数组的长度,否则就会出现数组越界的错误。
取的数组每一个位置的值可以直接通过数组名[索引值]。
数组的三种定义方式:○1指定数组长度,这样会使用内存空间创建数组对象,但数组中每个元素的值都是默认值,此时可以用循环的方式对数组赋值。
○2创建数组时就给数组中的元素赋值。
如:String[]st=new String[]{“jack”,”tom”};
○3仅定义数组变量名然后来赋值:String[]st=new String[5];
st[0]=n;st[1]=m;st[2]=f;st[3]=y;st[4]=g;
数组也是一种对象,数组对象本身的类型就是数组类型,定义数组时一定要指明数组中所装元素的类型。数组使用的是引用传递。
注意:当我们仅定义了一个数组变量时,是不能使用这个数组的,因为即使他定义了变量的类型和变量的名字,但是这个变量没有指向一个具体存在的对象,那么这个这个变量的默认值就是null,调用方法或属性时就会出错。
Java语言中没有多维数组的概念,所谓的二维数组只不过是数组的数组。
为什么会有队列的出现?
因为java无法操作系统的内存,而数组的存储有限。队列泛型实际上是模仿了list中的ArrayList。
java的集合框架
有那两个集合集合类有同一个父类?
List和set以及queue都是Collection的子接口,Collection又是Set的子类。
List(类似于管道)
特性:有序的(输入输出的顺序是一样的),可重复(存储空间中可以存储相同的数据)
get(index);可以通过索引获取
List集合子类中有些不是有序的或者可重复的
Set(口袋里乱七八糟的装东西)
特性:无序的,不可以重复
Map
特性:键值对的方式存储,键值必须是唯一的,值可以是重复的
身份证号码--键;值--人
数组可以理解为是一个容器,在数组中可以放其他的东西,数组一旦定义,它的长度就是固定的,数组是有序的,数组中每个元素都有一个唯一的索引位置,这个索引值从0开始,最大数组长度-1.
取得数组的长度可以直接用数组名.length,数组中的元素个数不能超过数组的长度,否则就会出现数组越界的错误。
取的数组每一个位置的值可以直接通过数组名[索引值]。
数组的三种定义方式:○1指定数组长度,这样会使用内存空间创建数组对象,但数组中每个元素的值都是默认值,此时可以用循环的方式对数组赋值。
○2创建数组时就给数组中的元素赋值。
如:String[]st=new String[]{“jack”,”tom”};
○3仅定义数组变量名然后来赋值:String[]st=new String[5];
st[0]=n;st[1]=m;st[2]=f;st[3]=y;st[4]=g;
数组也是一种对象,数组对象本身的类型就是数组类型,定义数组时一定要指明数组中所装元素的类型。数组使用的是引用传递。
注意:当我们仅定义了一个数组变量时,是不能使用这个数组的,因为即使他定义了变量的类型和变量的名字,但是这个变量没有指向一个具体存在的对象,那么这个这个变量的默认值就是null,调用方法或属性时就会出错。
Java语言中没有多维数组的概念,所谓的二维数组只不过是数组的数组。
为什么会有队列的出现?
因为java无法操作系统的内存,而数组的存储有限。队列泛型实际上是模仿了list中的ArrayList。
java的集合框架
有那两个集合集合类有同一个父类?
List和set以及queue都是Collection的子接口,Collection又是Set的子类。
List(类似于管道)
特性:有序的(输入输出的顺序是一样的),可重复(存储空间中可以存储相同的数据)
get(index);可以通过索引获取
List集合子类中有些不是有序的或者可重复的
Set(口袋里乱七八糟的装东西)
特性:无序的,不可以重复
Map
特性:键值对的方式存储,键值必须是唯一的,值可以是重复的
身份证号码--键;值--人