学习笔记——Java数组

1.创建一维数组

  最简单快捷的方法是:声明的同时为数组分配内存。如:

  int month[]=new int[12]

  也可以先声明再分配内存。如:

  int month[];   //或int[] month;
  month=new int[12];  

  在初始化一维数组时,可采用两种方法。如:

  int arr[]=new int[]{1,2,3,4,5};
  或者:int arr[]={1,2,3,4,5};

2.创建二维数组

  创建二维数组的方法和一维数组一样有两种方法。如:

  //先声明再分配
   int arr[][];
   arr=new int[2][4];
  //直接分配
   int arr[][]=new int[2][4];

  注:分配内存时可以分配为每一维分配,常用于非规则数组。如:

   int a[][];
   a=new int[2][];
   a[0]=new int[4];
   a[1]=new int[5];

  关于二维数组的操作,要学会使用foreach语句遍历二维数组。

   int arr[][]={{2,3},{3,7},{6,5}};
   for(int x[]:arr){
       for(int e:x){
          system.out.print(e+' ');
       }
   }

3.数组操作

  3.1 填充元素

    导入java.util.Arrays后,使用fill()方法。如:

      Arrays.fill(arr,8);
    Arrays.fill(arr,1,2,8); //在第一个到第二个(不包括)元素间填充8

  3.2 排序

       导入java.util.Arrays后,使用Arrays.sort()方法。如:

      int arr[]={2,5,1,7,6};
      Arrays.sort(arr);

  3.3 复制数组

    使用Arrays类的两个方法:

    copyOf():复制数组到指定长度数组。如:

    int arr[]={21,45,46};  
    int newarr[]=Arrays.copyOf(arr,5);   //newarr数组为:21,45,46,0,0

    copyOfRange():复制指定长度数组元素到新数组。如: 

    int arr[]={1,4,5,7,8,9};
    int newarr[]=Arrays.copyOfRange(arr,0,3);

  3.4 数组查询

    Arrays类的binarySearch()方法提供了多种重载,可使用二分查找方式搜索。如:

    binarySearch(Object[],key)、binarySearch(Object[],int fromIndex,int toIndex,int key).

  3.5 数组排序算法

    掌握冒泡排序、直接选择排序等基本排序算法的Java程序书写。下面以冒泡排序为例,自己用Java写一下该算法:

  public class BubbleSort{
      public void main(String[] args){
        int arr[]={2,4,8,5,6,10,1};
       //创建BubbleSort的实例,调用方法sort排序
        BubbleSort sorter=new BubbleSort();
        sorter.sort(arr);
      public void sort(int array[]){
          for(int i=0;i<array.length();i++){
             for(int j=array.length()-2;j>i;j--){
                  if(array[j+1]<array[j]){
                      int temp=array[j+1];
                      array[j+1]=array[j];
                      array[j]=temp;
                } 
            }    
      }
  } 
                  

  

    

原文地址:https://www.cnblogs.com/tangzhirong/p/4660957.html