`
qq272936993
  • 浏览: 3214 次
社区版块
存档分类
最新评论

黑马程序员_数组及自我感悟

阅读更多

------- 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/

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics