Tự Học Java | Các Thuật Toán Trong Collection Của Java »
Có thể bạn quan tâm
🔥CHỌN LỌC TOP NHỮNG KHOÁ HỌC LẬP TRÌNH ONLINE NHIỀU NGƯỜI THEO HOC TẠI ĐÂY🔥
Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các thuật toán khác nhau được cung cấp bởi framework collection trong Java với sự trợ giúp của các ví dụ.
framework collection trong Java cung cấp các thuật toán khác nhau có thể được sử dụng để thao tác các phần tử được lưu trữ trong cấu trúc dữ liệu.
Các thuật toán trong Java là các phương thức tĩnh có thể được sử dụng để thực hiện các hoạt động khác nhau trên các tập hợp.
Vì các thuật toán có thể được sử dụng trên các bộ sưu tập khác nhau, chúng còn được gọi là thuật toán chung .
Hãy xem việc triển khai các phương thức khác nhau có sẵn trong framework collection.
1. Sắp xếp Sử dụng sort()
phương thức sort() được cung cấp bởi framework collection được sử dụng để các phân loại phần tử. Ví dụ,
/* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam @author cafedevn Contact: cafedevn@gmail.com Fanpage: https://www.facebook.com/cafedevn Group: https://www.facebook.com/groups/cafedev.vn/ Instagram: https://instagram.com/cafedevn Twitter: https://twitter.com/CafedeVn Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/ Pinterest: https://www.pinterest.com/cafedevvn/ YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/ */ import java.util.ArrayList; import java.util.Collections; class Main { public static void main(String[] args) { // Creating an array list ArrayList<Integer> numbers = new ArrayList<>(); // Add elements numbers.add(4); numbers.add(2); numbers.add(3); System.out.println("Unsorted ArrayList: " + numbers); // Using the sort() method Collections.sort(numbers); System.out.println("Sorted ArrayList: " + numbers); } }Đầu ra
Unsorted ArrayList: [4, 2, 3] Sorted ArrayList: [2, 3, 4]Ở đây việc sắp xếp diễn ra theo thứ tự tự nhiên (thứ tự tăng dần). Tuy nhiên, chúng ta có thể tùy chỉnh thứ tự sắp xếp của phương thức sort() bằng interface Set.
2. Trộn bằng shuffle()
phương thức shuffle() framework collection trong Java được sử dụng để tiêu diệt bất kỳ loại trật tự hiện diện trong cấu trúc dữ liệu. Nó hoàn toàn ngược lại với việc sắp xếp. Ví dụ,
/* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam @author cafedevn Contact: cafedevn@gmail.com Fanpage: https://www.facebook.com/cafedevn Group: https://www.facebook.com/groups/cafedev.vn/ Instagram: https://instagram.com/cafedevn Twitter: https://twitter.com/CafedeVn Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/ Pinterest: https://www.pinterest.com/cafedevvn/ YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/ */ import java.util.ArrayList; import java.util.Collections; class Main { public static void main(String[] args) { // Creating an array list ArrayList<Integer> numbers = new ArrayList<>(); // Add elements numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("Sorted ArrayList: " + numbers); // Using the shuffle() method Collections.shuffle(numbers); System.out.println("ArrayList using shuffle: " + numbers); } }Đầu ra
Sorted ArrayList: [1, 2, 3] ArrayList using shuffle: [2, 1, 3]Khi chúng ta chạy chương trình, phương thức shuffle() sẽ trả về một kết quả ngẫu nhiên.
Thuật toán xáo trộn chủ yếu được sử dụng trong các trò chơi mà chúng ta muốn đầu ra ngẫu nhiên.
3. Thao tác dữ liệu thường xuyên
Trong Java, framework collection cung cấp các phương thức khác nhau có thể được sử dụng để thao tác dữ liệu.
- reverse() – đảo ngược thứ tự của các phần tử
- fill() – thay thế mọi phần tử trong tập hợp bằng giá trị được chỉ định
- copy() – tạo một bản sao của các phần tử từ nguồn được chỉ định đến đích
- swap() – hoán đổi vị trí của hai phần tử trong một bộ sưu tập
- addAll() – thêm tất cả các phần tử của một bộ sưu tập vào bộ sưu tập khác
Ví dụ,
import java.util.Collections; import java.util.ArrayList; class Main { public static void main(String[] args) { // Creating an ArrayList ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); System.out.println("ArrayList1: " + numbers); // Using reverse() Collections.reverse(numbers); System.out.println("Reversed ArrayList1: " + numbers); // Using swap() Collections.swap(numbers, 0, 1); System.out.println("ArrayList1 using swap(): " + numbers); ArrayList<Integer> newNumbers = new ArrayList<>(); // Using addAll newNumbers.addAll(numbers); System.out.println("ArrayList2 using addAll(): " + newNumbers); // Using fill() Collections.fill(numbers, 0); System.out.println("ArrayList1 using fill(): " + numbers); // Using copy() Collections.copy(newNumbers, numbers); System.out.println("ArrayList2 using copy(): " + newNumbers); } }Đầu ra
ArrayList1: [1, 2] Reversed ArrayList1: [2, 1] ArrayList1 Using swap(): [1, 2] ArrayList2 using addALl(): [1, 2] ArrayList1 using fill(): [0, 0] ArrayList2 using copy(): [0, 0]Lưu ý : Trong khi thực hiện phương thức copy() này, cả hai danh sách phải có cùng kích thước.
4. Tìm kiếm bằng binarySearch()
phương thức binarySearch() của Java tìm kiếm framework collection cho các phần tử cụ thể. Nó trả về vị trí của phần tử trong các tập hợp được chỉ định. Ví dụ,
import java.util.Collections; import java.util.ArrayList; class Main { public static void main(String[] args) { // Creating an ArrayList ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); numbers.add(3); // Using binarySearch() int pos = Collections.binarySearch(numbers, 3); System.out.println("The position of 3 is " + pos); } }Đầu ra
The position of 3 is 2.Lưu ý : Bộ sưu tập nên được sắp xếp trước khi thực hiện phương thức binarySearch().
Để biết thêm, hãy truy cập Tìm kiếm nhị phân Java .
5. Thành phần
- frequency() – trả về số lần một phần tử có mặt trong tập hợp
- disjoint() – kiểm tra xem hai tập hợp có chứa phần tử chung nào không
Ví dụ,
import java.util.Collections; import java.util.ArrayList; class Main { public static void main(String[] args) { // Creating an ArrayList ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(2); System.out.println("ArrayList1: " + numbers); int count = Collections.frequency(numbers, 2); System.out.println("Count of 2: " + count); ArrayList<Integer> newNumbers = new ArrayList<>(); newNumbers.add(5); newNumbers.add(6); System.out.println("ArrayList2: " + newNumbers); boolean value = Collections.disjoint(numbers, newNumbers); System.out.println("Two lists are disjoint: " + value); } }Đầu ra
ArrayList1: [1, 2, 3, 2] Count of 2: 2 ArrayList2: [5, 6] Two lists are disjoint: true6. Tìm giá trị cực đoan
Các phương thức min()và max()phương thức của framework collection trong Java được sử dụng để tìm phần tử tối thiểu và tối đa tương ứng. Ví dụ,
import java.util.Collections; import java.util.ArrayList; class Main { public static void main(String[] args) { // Creating an ArrayList ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); numbers.add(3); // Using min() int min = Collections.min(numbers); System.out.println("Minimum Element: " + min); // Using max() int max = Collections.max(numbers); System.out.println("Maximum Element: " + max); } }Đầu ra
Minimum Element: 1 Maximum Element: 3Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.
Nguồn và Tài liệu tiếng anh tham khảo:
- oracle
Tài liệu từ cafedev:
- Full series tự học Java từ cơ bản tới nâng cao tại đây nha.
- Ebook về Java tại đây.
- Các nguồn kiến thức MIỄN PHÍ VÔ GIÁ từ cafedev tại đây
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
- Group Facebook
- Fanpage
- Youtube
- Trang chủ
Chào thân ái và quyết thắng!
Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!
Từ khóa » Các Thuật Toán Cơ Bản Trong Java
-
Chương Trình Kinh điển Trong Java - Học Java Miễn Phí Hay Nhất
-
Các Thuật Toán Sắp Xếp Trong Java - VietTuts
-
Cơ Bản Về Thuật Toán - Giúp Bạn Học Thuật Toán đơn Giản Hơn
-
Bài Tập Về Các Thuật Toán Sắp Xếp Trong Java Có Lời Giải - Học Hỏi Net
-
Thuật Toán Collection Trong Java
-
10 Thuật Toán Hàng đầu Dành Cho Lập Trình Viên | TopDev
-
Bài Tập Java Có Lời Giải Cơ Bản đến Nâng Cao - Freetuts
-
20 BÀI TẬP JAVA CƠ BẢN CHO NGƯỜI MỚI HỌC (CÓ ĐÁP ÁN)
-
Java 11. Các Phép Toán Cơ Bản Trong Java | Tự Học Lập Trình Java
-
Tổng Hợp Từ A - Z Kiến Thức Java Cơ Bản
-
Lập Trình Java Cơ Bản: Một Số Thuật Toán Hữu Dụng Với Mảng
-
Java Cấu Trúc Dữ Liệu - Giải Thuật - Techmaster
-
Hướng Dẫn Viết Sơ đồ Khối Thuật Toán Trong Lập Trình
-
Garbage Collection Trong Java - Tìm Hiểu Về Bộ Thu Gom Rác Trong ...