------- android培训、java培训、期待与您交流! ----------
数组 : 是一种数据结构,用来存储同一类型的集合.简单来说,就是一个存放同种类型的容器。
使用数据的好处 : 数组可将其中的没一个值自动添加对象的编号,没一个值为一个元素,元素从0开始编号,方便对每个元素的管理
课后思维拓展以及资料查阅:
在结合当中,ArrayList其低层也是使用数组作为容器的.当其将要超过容器大小时,会使用System.copy方法将原有的数据拷贝到一份扩大数倍(1.5倍)的的数组里.同时,其长度有有个length的属性记录其的真实大小.
格式:
数据元素类型[] 变量名 = new 元素类型[参数]; 说明:参数表示数组中元素的个数.
如:int[] a = new int[10];
数组中的常见操作: 获取数组中的元素(通常会用到遍历)
数组中用到数组名.length来获取数组中元素个数
给定一个数组{5,1,6,4,2,8,9}
获取max,min
思路:1.获取最只需要比较,每一次比较都会有一个较大的值,因为该值不确定。通过一个变量进行存储。
2.让数组中每一个元素都和这个变量中的值进行比较。如果大于变量中的值,就用该变量记录较大值。
3.当所有的元素都比较完成,那么该变量中存储的就是数组中的最大值。
public static int getMax(int[] arr)
{
int max =arr[0];
for(int x=1;x<arr.length;x++)
{
if(arr[x]>max)
max=arr[x];
return max;
}
}
public static void main(String[] args)
{
int[] arr={5,1,6,4,2,8,9};
int max=getMax(arr);
System.out.println("max="+max);
}
思考:当学习到集合后,将会有Collections提供获取最大值
public class MytestMax {
public static void main(String[] args) {
Integer[] arr={5,1,6,4,2,8,9};
Integer max = Collections.max(Arrays.asList(arr));
System.out.println("最大值为:"+max);
}
}
同时也可以:
数据元素类型[] 变量名 = new 元素类型[]{元素1,元素2....}
如 int[] a = new int[10]{0,1,2,3,4,5,6,7,8,9};
数组的赋值:
1.数组的初始化:
第一种是隐式初始化,每个元素的值都为相应的各类型的初始值,具体看数据类型的总结.
第二种是显示初始化,每个元素都已经被赋予初值.
2.还可以定义匿名数组
new int[]{3,5,6,9,0};
3.同事也可以将一个数组变量引用另一个数组变量
String[] a = new String[10]; String[] b = a;
多维数组:也称数组中的数组
格式:
int[][] arr = new int[2][3];
定义了一个名为arr的数组,数组中有2个一维数组,每个一维数组中含3个元素.
注意:java数组一旦初始化完成,该数组长度不可改变
排序:
选择排序:选择一个位置和其他位置比较
特点:内循环结束一次,最值出现头角标的位置。两个for 循环一个if语句。换值时用第三方变量
冒泡排序:相邻的两个元素进行比较如果符合条件换位。
第一圈:最值出现在最后位。
中间的for循环为for(int y=0;y<arr.length-x-1;y++)//-x:让每一次比较的元素减少。-1:避免角标越界
Arrays.sort(arr);//JAVA中定义的一种排序方式,开发中用它。
查找:遍历中判断
折半查找:提高效率,必须保证该数组是有序的。
角标
min=0;
max=arr.length-1;
mid=(min+max)/2;
查表法:将所有元素临时存储起来,建立对应关系。
------------- android培训、java培训、java博客、java学习型技术博客、期待与您交流! -------------
详情请查看:http://edu.csdn.net/heima/