รายการและอาร์เรย์เป็นสองวิธีในการจัดเก็บข้อมูลใน Java ที่คุณจะใช้บ่อย ในโครงการที่คุณต้องการจัดเก็บข้อมูลโดยไม่ต้องจัดการไฟล์ใดๆ รายการและอาร์เรย์จะช่วยให้คุณสามารถจัดเก็บข้อมูลได้ตลอดการดำเนินการของโปรแกรม เราจะใช้ Class ArrayList ที่ใช้ List Interface ใน Java แทนกันได้ตลอดทั้งบทช่วยสอนนี้
ความแตกต่างระหว่างรายการและอาร์เรย์
รายการ | อาร์เรย์ |
---|---|
ขนาดของรายการสามารถเปลี่ยนแปลงได้ | ขนาดของอาร์เรย์ไม่สามารถเปลี่ยนแปลงได้ |
คุณไม่สามารถจัดเก็บประเภทดั้งเดิมในรายการ | คุณสามารถจัดเก็บประเภทดั้งเดิมใน Array |
คุณสามารถใช้ Generics กับรายการ | คุณไม่สามารถใช้ Generics กับ Array |
ใช้หน่วยความจำมากขึ้น | ใช้หน่วยความจำน้อยลง |
การแปลงรายการเป็นอาร์เรย์ด้วยฟังก์ชันไลบรารี
รายการมี เมธอด toArray()ซึ่งจะแปลงเนื้อหาของรายการใด ๆ ให้เป็นอาร์เรย์โดยตรง ในขณะที่ยังคงตำแหน่งของข้อความในอาร์เรย์เหมือนที่อยู่ในรายการดั้งเดิม นี่คืออัลกอริทึม/ขั้นตอนในการแปลงรายการเป็นอาร์เรย์ใน java โดยใช้ฟังก์ชันไลบรารีในตัวนี้- เริ่มต้น ArrayList
- เพิ่มองค์ประกอบในรายการผ่านเมธอดlist.add(data_type)
- สร้าง Array ที่มีขนาดเดียวกับรายการ
- แปลงรายการเป็นอาร์เรย์โดยใช้ชื่อตัวแปรของอาร์เรย์ที่สร้างในขั้นตอนที่ 3 เป็นอาร์กิวเมนต์
- พิมพ์เนื้อหาของ Array
import java.util.ArrayList;
public class convertListToArray {
public static void main(String[] args) {
//Converting List to Array With Library Function
//Declaration of Array List
ArrayList<String> sampleList = new ArrayList<String>();
//Adding Elements to Array List
sampleList.add("California");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Florida");
sampleList.add("Virginia");
sampleList.add("Colorado");
//Printing the Array List
System.out.println("Elements of List: " + sampleList);
//Declaring Array with Equal Size to the List
String[]arr = new String [sampleList.size()];
//Converting List to Array
sampleList.toArray(arr);
//Printing the Array
System.out.print("Elements of Array: ");
for (int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
}
}
การแปลงรายการเป็นอาร์เรย์โดยไม่มีฟังก์ชันไลบรารี
บางครั้ง อาจมีข้อกำหนดในการแปลงรายการเป็นอาร์เรย์โดยไม่ต้องใช้ฟังก์ชันในตัว ปัญหาที่เกิดขึ้นอาจใช้ข้อจำกัดบางประการในแง่ของฟังก์ชันห้องสมุด ข้อกำหนดนี้เป็นเรื่องปกติสำหรับนักเรียนที่เขียนโปรแกรมที่ได้รับการสนับสนุนให้ทำงานโดยไม่มีฟังก์ชันไลบรารี เพื่อช่วยให้พวกเขาเรียนรู้การทำงานภายในของฟังก์ชันเหล่านี้ก่อนที่จะนำไปใช้งาน ในกรณีเช่นนี้ คุณสามารถใช้ขั้นตอนต่อไปนี้เพื่อแปลงรายการเป็นอาร์เรย์ใน java โดยไม่ต้องมีฟังก์ชันไลบรารี- เริ่มต้น ArrayList
- เพิ่มองค์ประกอบในรายการผ่านเมธอดlist.add(data_type)
- สร้าง Array ที่มีขนาดเดียวกับรายการ
- สร้าง for loop ที่จะวนซ้ำผ่านแต่ละองค์ประกอบของ ArrayList และส่งผ่านไปยังArray[index]ผ่านฟังก์ชันlist.get(index)
- พิมพ์เนื้อหาของอาร์เรย์เพื่อแสดงว่าคุณกำลังแปลงรายการเป็นอาร์เรย์
import java.util.ArrayList;
public class converListToArray2 {
public static void main(String[] args) {
//Converting List to Array Without Library Functions
//Declaration of Array List
ArrayList<String> sampleList = new ArrayList<String>();
//Adding Elements to Array List
sampleList.add("California");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Florida");
sampleList.add("Virginia");
sampleList.add("Colorado");
//Printing the Array List
System.out.println("Elements of List: " + sampleList);
//Declaring Array with Equal Size to the List
String[]arr = new String [sampleList.size()];
//Converting to Array
for (int i = 0 ; i < arr.length ; i++){
arr[i] = sampleList.get(i);
}
//Printing the Array
System.out.print("Elements of Array: ");
for (int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
}
}
ในทำนองเดียวกัน หากคุณสงสัยว่าจะแปลง Array เป็น List ได้อย่างไร คุณสามารถทำได้โดยใช้เมธอดArray.asList()ในตัว หรือวนซ้ำผ่านอาร์เรย์และจัดเก็บค่าที่แต่ละดัชนีในรายการ
GO TO FULL VERSION