บทนำ
ในบทความนี้ เราจะเรียนรู้วิธีการสลับลำดับข้อมูลใน Collection (คอลเลกชัน) แบบสุ่ม (Shuffle) Collection เป็นเฟรมเวิร์กที่ให้สถาปัตยกรรมสำหรับจัดเก็บและจัดการกลุ่มของออบเจ็กต์ Java Collections สามารถทำงานต่างๆ ได้ครบครัน เช่น การค้นหา การจัดเรียง การแทรก การจัดการ และการลบข้อมูล
ตัวอย่างการทำงาน
อินพุทตัวอย่าง:
Input list: [Java, program, is, fun, and, easy]
เอาต์พุทที่คาดหวัง (ตัวอย่างหนึ่ง เนื่องจากเป็นสุ่ม):
The shuffled list is: [is, easy, program, and, fun, Java]
อัลกอริทึม
ขั้นตอนที่ 1 - เริ่มต้น ขั้นตอนที่ 2 - ประกาศ ArrayList ชื่อ input_list ขั้นตอนที่ 3 - กำหนดค่า ขั้นตอนที่ 4 - ใช้ฟังก์ชัน shuffle() เพื่อสลับลำดับข้อมูลในลิสต์ ขั้นตอนที่ 5 - แสดงผลลัพธ์ ขั้นตอนที่ 6 - จบการทำงาน
ตัวอย่างที่ 1: เขียนในฟังก์ชัน main โดยตรง
import java.util.*;
public class Demo {
public static void main(String[] args) {
ArrayList input_list = new ArrayList();
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("The list is defined as:" + input_list);
Collections.shuffle(input_list, new Random());
System.out.println("The shuffled list is: \n" + input_list);
}
}
เอาต์พุท (ตัวอย่าง)
The list is defined as:[Java, program, is, fun, and, easy] The shuffled list is: [is, Java, fun, program, easy, and]
ตัวอย่างที่ 2: ใช้เมธอดแยก (Object-Oriented Style)
import java.util.*;
public class Demo {
static void shuffle(ArrayList input_list) {
Collections.shuffle(input_list, new Random());
System.out.println("The shuffled list is: \n" + input_list);
}
public static void main(String[] args) {
ArrayList input_list = new ArrayList();
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("The list is defined as:" + input_list);
shuffle(input_list);
}
}
เอาต์พุท (ตัวอย่าง)
The list is defined as:[Java, program, is, fun, and, easy] The shuffled list is: [fun, and, Java, easy, is, program]
หมายเหตุ: เนื่องจากเป็นการสุ่ม ผลลัพธ์จะต่างกันทุกครั้งที่รันโปรแกรม