1. 程式人生 > >演算法與資料結構筆記4——線性結構之陣列

演算法與資料結構筆記4——線性結構之陣列

陣列圖例

在這裡插入圖片描述

陣列的基本使用

程式碼舉例:

public class TestArray {
	public static void main(String[] args) {
		// 建立一個數組
		int[] arr1 = new int[3];
		// 獲取陣列長度
		int length1 = arr1.length;
		System.out.println("arr的長度:"+length1);
		// 訪問陣列中的元素:陣列名.[下標]  注意:下標從0開始,最大可以取到長度-1
		int element0 = arr1[0];
		System.out.println("element0:"+element0);
		// 為陣列中的元素賦值
		arr1[0] = 99;
		System.out.println("element0:"+arr1[0]);
		arr1[1] = 98;
		arr1[2] = 97;
		// 遍歷陣列
		for (int i = 0; i < arr1.length; i++) {
			System.out.println("arr1 element"+i+":"+arr1[i]);
		}
		// 建立陣列的同時為陣列中的元素賦值
		int[] arr2 = new int[] {90,80,70,60,50};
		// 獲取陣列長度
		System.out.println("arr2的長度:"+arr2.length);
	}
}

為陣列新增元素

程式碼示例:

public class TestOpArray {
	public static void main(String[] args) {
		// 解決陣列長度不可變的問題
		int[] arr = new int[] {9,8,7};
		// 快速檢視陣列中的元素
		System.out.println(Arrays.toString(arr));
		// 要加入陣列的目標元素
		int dst = 6;
		
		// 建立一個新的陣列,長度是原陣列長度+1
		int[] newArr = new int[arr.length+1];
		// 把原陣列中的資料全部複製到新陣列中
		for (int i = 0; i < arr.length; i++) {
			newArr[i] = arr[i];
		}
		// 把目標元素放入新陣列的最後
		newArr[arr.length] = dst; 
		// 新陣列替換原陣列
		arr = newArr;
		// 檢視原陣列元素,看是否替換替換成功
		System.out.println(Arrays.toString(newArr));
	}
}

為陣列刪除元素

程式碼示例:

import java.util.Arrays;

public class TestOpArray2 {
	// 如何刪除陣列中的元素
	public static void main(String[] args) {
		// 目標陣列
		int[] arr = new int[] {9,8,7,6,5};
		// 要刪除元素的下標
		int dst = 3;
		
		// 建立一個新的陣列,長度是原陣列的長度-1
		int[] newArr = new int[arr.length-1];
		// 複製原陣列中除了要刪除的元素以外其他的元素
		for (int i = 0; i < newArr.length; i++) {
			// 要刪除的元素之前的元素
			if (i<dst) {
				newArr[i] = arr[i];
			}else {
				// 要刪除的元素之後的元素
				newArr[i] = arr[i+1];
			}
		}
		// 新陣列替換舊陣列
		arr = newArr;
		System.out.println(Arrays.toString(arr));
	}
}