Mảng Trong Java - KungFu Tech
Có thể bạn quan tâm
Java cung cấp cho chúng ta rất nhiều cấu trúc dữ liệu, trong đó array là một cấu trúc cho phép lưu trữ một tập hợp các dữ liệu cùng loại, tuần tự và có số lượng xác định.
Cứ tưởng tượng nếu chúng ta cần sử dụng đến 100 biến int để lưu trữ data, thì chỉ với việc khai báo chúng ta đã ngốn hết 100 dòng code. Java cung cấp cho chúng ta rất nhiều cấu trúc dữ liệu, trong đó array là một cấu trúc cho phép lưu trữ một tập hợp các dữ liệu cùng loại, tuần tự và có số lượng xác định.
java Copy int[] arr = new int[100];Khai báo mảng trong java
Cú pháp khai báo mảng trong java
java Copy <Kiểu dữ liệu>[] <tên mảng>;Khởi tạo mảng
Cách 1: Khởi tạo không gán giá trị ban đầu
java Copy <Kiểu dữ liệu>[] <tên mảng> = new <kiểu dữ liệu>[số lượng phần tử];Cách 2: Khởi tạo có giá trị ban đầu
java Copy <Kiểu dữ liệu>[] <tên mảng> = {value 0, value 1, ... value n};Mảng hoạt động như thế nào
Một mảng sẽ có chỉ số index từ 0 đến n – 1 (n là số lượng phần tử của mảng).
Ví dụ: Khởi tạo mảng số nguyên 10 phần tử, có giá trị tuần tự từ 1 đến 10. Và xuất các giá trị của mảng ra màn hình console.
java Copy public class Thaycacac { public static void main(String[] args) { int[] arr = new int[10]; for (int i = 0; i < 10; i++) { arr[i] = i + 1; } for(int item : arr) { System.out.print(item + " "); } } }Kết quả
1 2 3 4 5 6 7 8 9 10
Trong một mảng phần tử đầu tiên (index = 0) gọi là foundation address. Các phần tử khác sẽ được truy xuất dựa vào phần tử đầu tiên.
Truy xuất các phần tử của mảng
Chúng ta có 2 cách để truy xuất các phần tử của mảng
- Truy xuất trực tiếp
- Truy xuất tuần tự
Truy xuất trực tiếp
java Copy <mảng>[vị trí phần tử trong mảng];Ví dụ: truy xuất phần tử thứ 5 của mảng
java Copy public class Thaycacac { public static void main(String[] args) { // Khoi tao mang int[] arr = new int[10]; for (int i = 0; i < 10; i++) { arr[i] = i + 1; } System.out.println(arr[5]); } }Kết quả
6
Nếu index vượt ra khoảng chứa của mảng thì chúng ta sẽ bị ném một ngoại lệ. Khoảng hợp lệ 0 đến n – 1 ( n số lượng phần tử của mảng).
Ví dụ khi mình truy xuất arr[10] là vị trí không hợp lệ mình sẽ được kết quả sau:
Kết quả
Exception in thread “main” ava.lang.ArrayIndexOutOfBoundsException: 10 at Main.main(Main.java:11)
Truy xuất tuần tự
Sử dụng vòng lặp for truyền thống
java Copy for(int i = 0; i < 10; i++) { System.out.println(i); }Sử dụng foreach
java Copy for(int item : arr) { System.out.println(item); }Passing by reference
Khi truyền mảng vào một method và xử lý trên các phần tử thì sẽ thay đổi giá trị của mảng ban đầu.
Ví dụ: tăng mỗi phần tử trong mảng lên mảng lên 1 và in ra màn hình console.
java Copy public class Thaycacac { public static void main(String[] args) { // Khoi tao mang int[] arr = new int[10]; for (int i = 0; i < 10; i++) { arr[i] = i + 1; } increment(arr); for(int item : arr) { System.out.print(item + " "); } } public static void increment(int[] arr) { for (int i = 0; i < 10; i++) { arr[i] += 1; } } }Kết quả
2 3 4 5 6 7 8 9 10 11
Chúng ta thấy hàm increment() đã thay đổi các giá trị trong mảng. Vì vậy ở hàm main truy xuất được mảng đã được update bởi increment().
Thao tác cơ bản trên mảng
Java cung cấp cho chúng ta một số thao tác cơ bản mà chúng ta thường xuyên sử dụng như sắp xếp, so sánh, ...
Ví dụ:
java Copy public static int binarySearch(Object[] a, Object key) // Tìm kiếm phần tử key trong mảng, điều kiện mảng đã được sắp xếp public static boolean equals(long[] a, long[] a2) // So sánh 2 mảng, trả về true nếu bằng nhau(index, value), ngược lại false public static void fill(int[] a. int val) // Khởi tạo mảng với giá trị được gán sẵn val public static void sort(Object[] a) // Sắp xếp mảng tăng dầnVí dụ: hàm sort
java Copy import java.util.Arrays; public class Thaycacac { public static void main(String[] args) { // Khởi tạo mảng int[] arr = {5, 2, 0, -4, 3, 9}; Arrays.sort(arr); for (int item : arr) { System.out.print(item + " "); } } }Kết quả
-4 0 2 3 5 9
Từ khóa » Gán Giá Trị Cho Mảng Java
-
Mảng (Array) Trong Java - Học Java Miễn Phí Hay Nhất - VietTuts
-
Mảng Trong Java
-
Mảng (Array) Trong Java - Openplanning
-
Khởi Tạo Và Thay Thế Giá Trị Mảng Trong Java
-
Mảng (Array), Cách Sử Dụng Mảng Trong Java - Thầy Nhuộm
-
Bài 3- Mảng, Chuỗi Và Hàm Trong Java - IT DESIGN - Thầy Nhuộm
-
Ví Dụ Về Mảng Trong Java - Java Arrays - NIIT - ICT Hà Nội
-
Khởi Tạo Mảng Java - TutorialCup
-
Mảng (Array) Trong Java - VietMX's Blog
-
Bài 18: Mảng (Array) Trong Java - Lập Trình Java Cơ Bản
-
Mảng (Array) Trong Java
-
Java - Nhập Mảng Và Thực Hiện Các Thao Tác Trên Mảng.
-
Mảng (array) Trong Java - KungFu Tech
-
Gán Giá Trị Cho ArrayList Trong Java? | How Kteam