แน่นอน เรามาเริ่มเขียนบทความกันดีกว่า
การเริ่มต้นรายการด้วยค่า ใน Java เป็นการดำเนินการที่จำเป็นโดยทั่วไปสำหรับนักพัฒนา มักจะเห็นได้ว่าโปรแกรมเมอร์ Java ต้องจัดการกับการดำเนินการต่างๆ เช่น การสร้างรายการ การเพิ่มค่าลงไป จากนั้นจึงดำเนินการกับรายการ กระบวนการนี้อาจน่าเบื่อหากไม่ได้รับการจัดการอย่างเหมาะสม ดังนั้นการทำความเข้าใจวิธีที่มีประสิทธิภาพในการเริ่มต้นรายการด้วยค่าสามารถปรับปรุงงานการเขียนโปรแกรมได้อย่างมาก
บทความนี้จะนำเสนอความเข้าใจเกี่ยวกับวิธีการเริ่มต้นรายการด้วยค่าใน Java โดยใช้วิธีการและไลบรารีต่างๆ
การเริ่มต้นโดยตรง
วิธีที่ตรงไปตรงมาที่สุดในการเริ่มต้นรายการด้วยค่าคือการใช้ เพิ่ม() วิธีการเรียนรายการ วิธีการนี้จะเพิ่มองค์ประกอบที่ส่วนท้ายของรายการ
ลองพิจารณาตัวอย่าง:
List<String> list = new ArrayList<>(); list.add("Element1"); list.add("Element2"); list.add("Element3");
รายการใหม่นี้ประกอบด้วยสามองค์ประกอบ Element1, Element2 และ Element3
อย่างไรก็ตาม วิธีการนี้ไม่มีประสิทธิภาพเมื่อมีการเพิ่มองค์ประกอบจำนวนมาก มีการกล่าวถึงโซลูชันที่มีประสิทธิภาพมากขึ้นด้านล่าง
การใช้ Arrays.asList()
Java จัดให้ อาร์เรย์ ชั้นเรียนจากมัน java.util บรรจุุภัณฑ์. คลาสนี้มีวิธีการต่างๆ มากมายสำหรับจัดการอาร์เรย์ ที่ เป็นรายการ() วิธีการของคลาสนี้เป็นแบบคงที่และส่งคืนรายการขนาดคงที่ที่สนับสนุนโดยอาร์เรย์ที่ระบุ
มาทำความเข้าใจกับตัวอย่าง:
List<String> list = Arrays.asList("Element1", "Element2", "Element3");
วิธีนี้มีประโยชน์และมีประสิทธิภาพ แต่รายการที่ส่งคืนจะไม่เปลี่ยนรูป หากคุณพยายามเพิ่มหรือลบองค์ประกอบออกจากรายการ มันจะส่งข้อยกเว้น java.lang.UnsupportedOperationException
การใช้คอลเลกชัน
คอลเลคชั่น ชั้นเรียนของ java.util package เป็นคลาสยูทิลิตี้ที่มีวิธีการคงที่สำหรับการดำเนินการกับอ็อบเจ็กต์ของคลาสที่ใช้กรอบงาน Collection มีวิธีคือ ncopy (int n, วัตถุ obj) ซึ่งส่งคืนรายการที่ไม่เปลี่ยนรูปซึ่งมีจำนวนสำเนาที่ระบุของวัตถุที่ระบุ
ตัวอย่างการใช้วิธีนี้:
List<String> list = Collections.nCopies(3, "Element");
ในวิธีนี้ องค์ประกอบทั้งหมดของรายการจะถูกเตรียมใช้งานให้กับออบเจ็กต์ที่ระบุ ดังนั้นองค์ประกอบทั้งหมดของรายการจึงเหมือนกัน
ใช้สตรีม Java 8
Java 8 เปิดตัวใหม่ สตรีม API ซึ่งสามารถใช้เพื่อเริ่มต้นรายการด้วยค่าในโค้ดไม่กี่บรรทัด
List<String> list = Stream.of("Element1", "Element2", "Element3") .collect(Collectors.toList());
ในโค้ดนี้ Stream.of() วิธีการส่งกลับกระแสลำดับที่มีองค์ประกอบเป็นค่าที่ระบุ เมธอด collect() คือการดำเนินการเทอร์มินัลซึ่งรวบรวมผลลัพธ์ไว้ในโครงสร้างข้อมูลต่างๆ และที่นี่จะรวบรวมองค์ประกอบสตรีมไปยังรายการ
สรุป
ต่อไปนี้เป็นวิธีการบางส่วนในการเริ่มต้นรายการด้วยค่าใน Java ในขณะที่จัดการกับรายการใน Java ผู้ใช้จะมีตัวเลือกที่หลากหลาย ขึ้นอยู่กับข้อกำหนดของบริบท ตัวอย่างเช่น หากต้องการสร้างรายการที่มีขนาดคงที่ซึ่งมีสำเนาหลายชุดขององค์ประกอบเดียวกัน สามารถใช้เมธอด ncopies ของคลาส Collections ได้ เมื่อทำงานกับอาร์เรย์ Arrays.asList() จะมีประโยชน์มาก สำหรับผู้ใช้ที่ต้องการใช้ประโยชน์จากฟีเจอร์ของ Java 8 Stream API เสนอไวยากรณ์ที่กระชับเพื่อปรับปรุงการทำงานของรายการ เช่นเคย การเลือกวิธีการที่เหมาะสมจะขึ้นอยู่กับความต้องการและข้อจำกัดเฉพาะของโครงการอย่างมาก