Lớp Arrays Java: Hướng dẫn chi tiết cho người mới bắt đầu
Giới thiệu
Xin chào, siêu sao Java tương lai! Hôm nay, chúng ta sẽ cùng khám phá thế giới kỳ diệu của lớp Arrays trong Java. Đừng lo nếu bạn mới bắt đầu học lập trình - tôi sẽ là người bạn thân thiện dẫn đường cho bạn trong hành trình này, giải thích từng bước một. Cuối cùng, bạn sẽ manipulates các mảng như một chuyên gia!
Lớp Arrays trong Java giống như một cây kéo đa năng để làm việc với các mảng. Nó đầy ắp các phương thức hữu ích có thể giúp cuộc sống của bạn trở nên dễ dàng hơn khi làm việc với các cấu trúc dữ liệu cơ bản này. Hãy bắt đầu!
Khai báo lớp Arrays
Trước khi chúng ta bước vào chi tiết, hãy cùng xem cách lớp Arrays được khai báo:
public class Arrays extends Object
Điều này có thể看起来有点吓人, nhưng đừng lo lắng! Tất cả bạn cần biết là Arrays là một lớp thuộc gói java.util
. Để sử dụng nó trong các chương trình của bạn, bạn cần nhập nó như này:
import java.util.Arrays;
Hãy nghĩ về điều này như là nói với Java, "Hey, tôi muốn sử dụng bộ công cụ Arrays tuyệt vời trong chương trình của mình!"
Phương thức của lớp Arrays
Bây giờ, hãy cùng khám phá một số phương thức hữu ích nhất được cung cấp bởi lớp Arrays. Tôi sẽ chỉ cho bạn cách sử dụng từng phương thức với các ví dụ dễ hiểu.
1. sort()
Phương thức sort()
giống như một người tổ chức cá nhân cho các mảng của bạn. Nó sắp xếp các phần tử theo thứ tự tăng dần.
int[] numbers = {5, 2, 8, 1, 9};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers));
// Output: [1, 2, 5, 8, 9]
Trong ví dụ này, chúng ta bắt đầu với một mảng hỗn loạn của các số và sort()
dọn dẹp nó cho chúng ta. Đó như phép thuật!
2. binarySearch()
Phương thức binarySearch()
giống như một thám tử giúp bạn tìm một phần tử cụ thể trong một mảng đã được sắp xếp.
int[] numbers = {1, 2, 5, 8, 9};
int index = Arrays.binarySearch(numbers, 5);
System.out.println("The number 5 is at index: " + index);
// Output: The number 5 is at index: 2
Lưu ý, mảng phải được sắp xếp trước, hoặc thám tử của chúng ta có thể bị rối loạn!
3. fill()
Phương thức fill()
giống như một滚筒 sơn cho mảng của bạn,.fill() nó với một giá trị cụ thể.
int[] numbers = new int[5];
Arrays.fill(numbers, 42);
System.out.println(Arrays.toString(numbers));
// Output: [42, 42, 42, 42, 42]
Hãy tưởng tượng bạn đang sơn một bức tường - fill()
làm công việc tương tự, nhưng cho mảng của bạn!
4. equals()
Phương thức equals()
giống như một máy dò sinh đôi, kiểm tra xem hai mảng có cùng các phần tử theo thứ tự không.
int[] array1 = {1, 2, 3};
int[] array2 = {1, 2, 3};
int[] array3 = {3, 2, 1};
System.out.println(Arrays.equals(array1, array2)); // true
System.out.println(Arrays.equals(array1, array3)); // false
Đó giống như so sánh hai hàng nhảy - chúng cần phải ở chính xác cùng thứ tự để được coi là bằng nhau!
5. copyOf()
Phương thức copyOf()
giống như một máy photocopy cho các mảng. Nó tạo ra một mảng mới với độ dài được chỉ định, sao chép các phần tử từ mảng gốc.
int[] original = {1, 2, 3, 4, 5};
int[] copy = Arrays.copyOf(original, 7);
System.out.println(Arrays.toString(copy));
// Output: [1, 2, 3, 4, 5, 0, 0]
Chú ý rằng nó điền các khoảng trống thêm bằng số không? Đó như việc sao chép một tài liệu và thêm các trang trắng vào cuối.
Các phương thức kế thừa
Lớp Arrays, là một lớp con của Object, kế thừa một số phương thức từ lớp cha. Các phương thức này bao gồm:
Phương thức | Mô tả |
---|---|
clone() | Tạo và trả về một bản sao của đối tượng này |
equals(Object obj) | Chỉ ra xem một đối tượng khác có "bằng" đối tượng này hay không |
finalize() | Được gọi bởi bộ thu hồi rác trên một đối tượng khi bộ thu hồi rác xác định rằng không còn referencing đến đối tượng này |
getClass() | Trả về lớp runtime của đối tượng này |
hashCode() | Trả về một giá trị hash cho đối tượng |
notify() | Thức tỉnh một thread duy nhất đang chờ trên monitor của đối tượng này |
notifyAll() | Thức tỉnh tất cả các thread đang chờ trên monitor của đối tượng này |
toString() | Trả về một biểu diễn chuỗi của đối tượng |
wait() | Làm cho thread hiện tại chờ cho đến khi một thread khác gọi phương thức notify() hoặc notifyAll() cho đối tượng này |
Ví dụ về lớp Arrays
Hãy cùng kết hợp tất cả với một ví dụ vui vẻ! Hãy tưởng tượng chúng ta đang tổ chức một thư viện nhỏ.
import java.util.Arrays;
public class LibraryOrganizer {
public static void main(String[] args) {
// Bộ sưu tập sách ban đầu của chúng ta
String[] books = {"The Hobbit", "1984", "Pride and Prejudice", "To Kill a Mockingbird", "The Great Gatsby"};
System.out.println("Original book order:");
System.out.println(Arrays.toString(books));
// Hãy sắp xếp sách của chúng ta theo bảng chữ cái
Arrays.sort(books);
System.out.println("\nBooks after sorting:");
System.out.println(Arrays.toString(books));
// Hãy tìm vị trí của "1984" bây giờ
int index = Arrays.binarySearch(books, "1984");
System.out.println("\n'1984' is now at index: " + index);
// Hãy làm một kệ sách lớn hơn
String[] biggerBookshelf = Arrays.copyOf(books, 7);
System.out.println("\nBigger bookshelf:");
System.out.println(Arrays.toString(biggerBookshelf));
// Hãy điền các khoảng trống bằng "New Book"
Arrays.fill(biggerBookshelf, 5, 7, "New Book");
System.out.println("\nFilled bookshelf:");
System.out.println(Arrays.toString(biggerBookshelf));
}
}
Ví dụ này minh họa cách chúng ta có thể sử dụng các phương thức khác nhau của lớp Arrays để tổ chức thư viện nhỏ của mình. Chúng ta bắt đầu với một bộ sưu tập hỗn loạn, sắp xếp nó, tìm một sách cụ thể, làm chỗ cho nhiều sách hơn và thậm chí thêm các tựa sách placeholder cho các đầu sách mới đến!
Và đó là tất cả, các bạn! Bạn đã bước những bước đầu tiên vào thế giới của lớp Arrays trong Java. Nhớ rằng, thực hành làm nên完美, vì vậy đừng ngại thử nghiệm các phương thức này trong các dự án của riêng bạn. Chúc các bạn lập trình vui vẻ!
Credits: Image by storyset