Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีเริ่มต้น (Initialize) ArrayList ใน Java

เมธอด Arrays.asList() และคลาส ArrayList ใช้สำหรับเริ่มต้นอาร์เรย์ใน Java อินเทอร์เฟซ List ธรรมดาไม่สามารถสร้างอาร์เรย์ได้ จึงต้องใช้คลาส ArrayList สร้างอาร์เรย์ว่าง แล้วค่อยใช้ Arrays.asList() เริ่มต้นค่าได้อย่างง่ายดาย


การเริ่มต้น ArrayList หมายถึงการกำหนดชุดค่าให้กับอาร์เรย์ ในการทำงานกับ ArrayList ใน Java คุณต้องรู้วิธีเริ่มต้นมันให้ถูกต้อง

ที่นี่คือที่มาของเมธอด Arrays.asList() ของ Java เมธอดนี้ช่วยให้คุณเริ่มต้น ArrayList ได้

บทช่วยสอนนี้จะสำรวจพร้อมตัวอย่าง วิธีเริ่มต้น ArrayList ใน Java ด้วยเมธอด asList() หลังอ่านจบ คุณจะเชี่ยวชาญการเริ่มต้น ArrayList แล้ว

Java ArrayList

ใน Java อินเทอร์เฟซ List ให้คุณสมบัติสำหรับจัดเก็บข้อมูลแบบลำดับ แต่เนื่องจาก List เป็นอินเทอร์เฟซของ Java Collections เราจึงไม่สามารถสร้างลิสต์จากอินเทอร์เฟซโดยตรงได้ — อินเทอร์เฟซ Java ไม่สามารถสร้างอ็อบเจ็กต์ได้

ArrayList เป็นคลาส Java ที่นำ List interface มาใช้งาน และช่วยให้เราสร้างอาร์เรย์ที่ปรับขนาดได้ (resizable arrays)

ใน Java อาร์เรย์มีขนาดคงที่ ตอนประกาศอาร์เรย์ ต้องระบุขนาด และยากที่จะเปลี่ยนขนาดหลังตั้งค่าไว้แล้ว

วิธีแก้ปัญหาการปรับขนาดอาร์เรย์คือใช้คลาส ArrayList อาร์เรย์ที่จัดเก็บใน ArrayList ปรับขนาดได้ง่าย ดังนั้นนักพัฒนาจึงมักใช้ ArrayList เมื่อจัดเก็บข้อมูลในอาร์เรย์

ก่อนใช้ ArrayList ต้อง import คลาสก่อน โค้ดสำหรับ import:

import java.util.ArrayList;

ตอนนี้เราสร้าง ArrayList ได้แล้ว ไวยากรณ์การสร้าง Java ArrayList:

ArrayList<Type> arrayName = new ArrayList<>();

องค์ประกอบหลัก:

  • ArrayList บอกโปรแกรมสร้างอาร์เรย์ลิสต์
  • Type คือประเภทข้อมูลที่อาร์เรย์ลิสต์จะจัดเก็บ
  • arrayName คือชื่อของอาร์เรย์ลิสต์ที่สร้าง
  • new ArrayList<>() สั่งสร้างอินสแตนซ์ของ ArrayList และกำหนดให้ตัวแปร arrayName

หลังสร้าง ArrayList แล้ว เราสามารถเริ่มต้นค่าได้

เริ่มต้น ArrayList ใน Java

ใน Java สามารถเริ่มต้นอาร์เรย์โดยตรงได้ คือตอนประกาศ กำหนดค่าที่ต้องการให้จัดเก็บเลย แต่ ArrayList ทำไม่ได้แบบนั้น

เวลาทำงานกับ ArrayList ปกติเพิ่มค่าด้วย add() ตัวอย่างโค้ดเพิ่ม "London" เข้า ArrayList ของเมือง:

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        ArrayList<String> cities = new ArrayList<>();
        cities.add("London");
        System.out.println("Cities: " + cities);
    }
}

ผลลัพธ์: Cities: [London]

วิธีนี้ใช้ได้ดีถ้าเพียงเพิ่มไม่กี่ค่า แต่ถ้าต้องการเพิ่ม 20 ค่าจากอาร์เรย์ที่มีอยู่แล้ว เข้า ArrayList จะทำอย่างไร?

เราสามารถใช้ Arrays.asList() เพื่อแก้ข้อจำกัดการเริ่มต้น ArrayList และให้ ArrayList มีค่าเริ่มต้น (default values)

ไวยากรณ์ของ asList():

Arrays.asList(item1, item2, item3);

เมธอด asList() รับพารามิเตอร์ได้ไม่จำกัด ขึ้นกับจำนวนค่าที่ต้องการเพิ่มเข้า ArrayList

มาดูตัวอย่าง: สมมติเราสร้างโปรแกรมจัดเก็บชื่อนักเรียนที่ได้ดาวทองมากที่สุด ทุกสัปดาห์ 8 สัปดาห์ติดต่อกัน แทนที่จะใช้ add() 8 ครั้ง เราใช้ asList() เริ่มต้นลิสต์พร้อม 8 ค่าเลย

import java.util.ArrayList;
import java.util.Arrays;
class Main {
    public static void main(String[] args) {
        ArrayList<String> students = new ArrayList<>(Arrays.asList("Paul", "David", "Lisa", "Alyssa", "Alex", "Ronald", "Todd", "Hope"));
        System.out.println("Students: " + students);
    }
}

ผลลัพธ์:

Students: [Paul, David, Lisa, Alyssa, Alex, Ronald, Todd, Hope]

วิเคราะห์โค้ด: เราประกาศ ArrayList ชื่อ students จัดเก็บ String ใช้โค้ดนี้เริ่มต้นค่า:

new ArrayList<>(Arrays.asList("Paul", "David", "Lisa", "Alyssa", "Alex", "Ronald", "Todd", "Hope"));

โค้ดนี้สร้างอาร์เรย์ 8 สมาชิก แล้วใช้ asList() แปลงเป็น ArrayList

วิธีนี้อ่านง่ายกว่าใช้ add() 8 ครั้งแยกกัน

สรุป

นักพัฒนา Java ใช้ Arrays.asList() เริ่มต้น ArrayList การใช้ asList() ช่วยเติมค่าเริ่มต้นในอาร์เรย์ได้ ซึ่งมีประสิทธิภาพกว่าใช้ add() หลายครั้ง

บทช่วยสอนนี้อธิบายพร้อมตัวอย่าง วิธีเริ่มต้น ArrayList ใน Java ตอนนี้คุณพร้อมที่จะเริ่มต้น ArrayList ใน Java อย่างมืออาชีพแล้ว!