Java之數組學習筆記

數組

  • 一維數組的聲明、分配空間、初始化、使用
public class Arrayuse {
   public static void main(String[] args) {
	   //聲明
	   
	   int arr[];  //聲明方式一:類型 數組名字[]
	   String[] arr1;//聲明方式二:類型[] 數組名字
       
	   //爲數組分配空間
	   
	   arr = new int[10];   //數組名 = new 數組類型[數組元素的個數];
	   
	   
	   //聲名的同時爲數組分配空間
	   
	   int arr2[] = new int[10];  //類型 名字[] = new 類型[數組元素的個數]
	   
	   //初始化
	   
	   int arr3[] = new int[] {1,2,3,4,5};  //初始化方式一
	   int arr4[] = {1,2,3,4,5};      //初始化方式二
	   
	   //使用
	   
	   for(int x:arr3) {    //foreach方式
		   System.out.println(x);
	   }
	   
	   for(int i=0;i<arr3.length;i++) {  //for循環方式
		   System.out.println(arr3[i]);
	   }
   }
}
  • 二維數組初始化及使用

創建和初始化與一維數組一樣,只不過多了一箇中括號,下面演示分配空間的兩種不同方法

import java.util.Arrays;
public class Twoarray {
    public static void main(String[] args) {
    	int arr[][] = new int[2][4];   //方式一
    	
    	int a[][] = new int[2][];    //方式二
    	a[0] = new int[2];
    	a[1] = new int[3];
    	
    	Arrays.fill(arr[0], 4);  //數組填充
    	Arrays.fill(arr[1], 6);
    	Arrays.fill(a[0], 1);
    	Arrays.fill(a[1], 2);
    	
    	for(int x[]:arr) {   //遍歷arr
    		for(int y:x) {
    			System.out.print(y);
    		}
    		System.out.println();  
    	}
    	 for(int x[]:a) {      //遍歷a
 			for(int y:x) {
 				System.out.print(y);
 			}
 			System.out.println();
 		}
    	
    }
}


  • 數組常用方法:
    • 填充,Arrays.fill(int[] a,int value)和Arrays.fill(int[] a,int fromIndex,int toIndex,int value)
    • 以字典序排序,Array.sort(object),裏面寫要排序的數組名
    • 複製數組,copyOf()方法與copyOfRange()方法
    • 數組查詢,binarySearch(),返回搜索元素的索引值

用法代碼如下:

import java.util.*;
public class Arraysmethod {
   public static void main(String[] args) {
	   //複製
	   int arr[] = new int[]{1,3,5,7,2,4,6};
	   int arrCopy[] =  Arrays.copyOf(arr, 5);  //第一個參數爲目標數組,第二個參數爲長度。長度大於數組長度時,自動補0
	   int arrCopy2[] =  Arrays.copyOf(arr, 10);
	   int arrCopy3[] = Arrays.copyOfRange(arr, 1, 3); // 左閉右開,第二個參數是開始下標,第三個參數是結束下標
	   for(int x:arrCopy) {
		   System.out.print(x);   //1 3 5 7 2
	   }
	   
	   System.out.println();
	   
	   for(int x:arrCopy2) {
		   System.out.print(x);   //1 3 5 7 2 4 6 0 0 0
	   }
	   
	   System.out.println();
	   for(int x:arrCopy3) {
		   System.out.print(x);   //3 5
	   }
	   //查詢
	   
	   System.out.println();
	   
	   Arrays.sort(arr);
	   int index = Arrays.binarySearch(arr, 4);  //第一個參數爲目標數組,第二個參數是你要查找的值,返回下標,調用此方法前必須sort
	   System.out.println(index);  //3
	   
	   int index1 = Arrays.binarySearch(arr, 0,3,4);  //中間兩值的位置是起始搜索位置,第一個,第四個是上面的第一第二個。
	   System.out.println(index1);  // -4
	   
   }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章