Trong bài viết này, chúng ta sẽ tìm hiểu cách xáo trộn (shuffle) ngẫu nhiên các phần tử trong Collection. Collection là framework cung cấp kiến trúc lưu trữ và thao tác nhóm đối tượng, hỗ trợ đầy đủ các thao tác dữ liệu.
Ví dụ minh họa
Đầu vào:
Danh sách đầu vào: [Java, program, is, fun, and, easy]
Đầu ra mong muốn (ví dụ):
Danh sách sau khi xáo trộn: [is, easy, program, and, fun, Java]
Thuật toán
- Bắt đầu
- Khai báo ArrayList
input_list - Gán giá trị
- Sử dụng hàm
Collections.shuffle()để xáo trộn - Hiển thị kết quả
- Kết thúc
Ví dụ 1: Xử lý trực tiếp trong main
import java.util.*;
public class Demo {
public static void main(String[] args) {
ArrayList<String> input_list = new ArrayList<String>();
input_list.add("Java");
input_list.add("program");
input_list.add("is");
input_list.add("fun");
input_list.add("and");
input_list.add("easy");
System.out.println("Danh sách được định nghĩa: " + input_list);
Collections.shuffle(input_list, new Random());
System.out.println("Danh sách sau khi xáo trộn:\n" + input_list);
}
}
Kết quả (ví dụ)
Danh sách được định nghĩa: [Java, program, is, fun, and, easy] Danh sách sau khi xáo trộn: [is, Java, fun, program, easy, and]
Ví dụ 2: Sử dụng phương thức tách biệt (OOP)
import java.util.*;
public class Demo {
static void shuffle(ArrayList<String> input_list) {
Collections.shuffle(input_list, new Random());
System.out.println("Danh sách sau khi xáo trộn:\n" + input_list);
}
public static void main(String[] args) {
ArrayList<String> input_list = new ArrayList<String>();
input_list.add("Java");
input_list.add("program");
input_list.add("is");
input_list.add("fun");
input_list.add("and");
input_list.add("easy");
System.out.println("Danh sách được định nghĩa: " + input_list);
shuffle(input_list);
}
}
Kết quả (ví dụ)
Danh sách được định nghĩa: [Java, program, is, fun, and, easy] Danh sách sau khi xáo trộn: [fun, and, Java, easy, is, program]
Lưu ý: Kết quả sẽ khác nhau mỗi lần chạy do tính ngẫu nhiên.