แปลง ArrayList เป็น Array Java
เมื่อคุณทำงานกับ ArrayList คุณอาจพบสถานการณ์ที่คุณต้องการแปลงเป็นอาร์เรย์ หรือในทางกลับกัน ตัวอย่างเช่น คุณอาจมีรายการหุ้นในพอร์ตโฟลิโอของคุณจัดเก็บไว้ในอาร์เรย์และต้องการแปลงเป็น ArrayList
ใน Java toArray()
เมธอดที่ใช้ในการแปลง ArrayList เป็นอาร์เรย์ และ asList()
เมธอดที่ใช้ในการแปลงรายการเป็น ArrayList บทแนะนำนี้จะกล่าวถึงวิธีการแปลง ArrayList เป็นอาร์เรย์และในทางกลับกันใน Java
Java Array และ ArrayList
ใน Java อาร์เรย์ใช้เพื่อเก็บลำดับของค่าศูนย์หรือมากกว่า ตัวอย่างเช่น อาร์เรย์อาจจัดเก็บรายการขนมที่ขายในร้านขนม หรือรายการคำสั่งซื้อที่วางไว้ที่ร้านกาแฟในท้องถิ่น อาร์เรย์จัดเก็บข้อมูลประเภทใดก็ได้ เช่น ทุ่น บูลีน และสตริง
นี่คือตัวอย่างอาร์เรย์ใน Java:
String[] names = new String[5];
ในตัวอย่างนี้ เราได้เริ่มต้นอาร์เรย์ที่เรียกว่า names
ซึ่งเก็บค่าสตริงไว้ห้าค่า
ก่อนที่คุณจะสามารถใช้อาร์เรย์ใน Java ได้ คุณต้องประกาศขนาดของอาร์เรย์ก่อน นอกจากนี้ เมื่อคุณได้ประกาศขนาดของอาร์เรย์แล้ว การเปลี่ยนแปลงอาจทำได้ยาก
นั่นคือที่มาของคลาส ArrayList ArrayList คือการใช้งานอินเทอร์เฟซ Java List และอนุญาตให้นักพัฒนาสร้างอาร์เรย์ที่ปรับขนาดได้ เมื่อคุณเพิ่มหรือลบออบเจ็กต์ออกจาก ArrayList ความจุของรายการจะเปลี่ยนไปโดยอัตโนมัติเพื่อแสดงจำนวนค่าที่จัดเก็บไว้ในรายการ ในบทช่วยสอนนี้ เราจะอ้างถึงคลาส ArrayList เป็นรายการ
นี่คือตัวอย่าง ArrayList ใน Java:
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
ArrayList<String> names = new ArrayList<>();
ในตัวอย่างข้างต้น เราได้ประกาศ ArrayList ชื่อ names
ซึ่งเก็บค่าสตริงจำนวนเท่าใดก็ได้
ตอนนี้เรารู้พื้นฐานของ Java arrays และ ArrayLists แล้ว เราสามารถสำรวจวิธีแปลงข้อมูลโดยใช้ประเภทข้อมูลเหล่านี้ได้
แปลงรายการเป็นอาร์เรย์
ใน Java list.toArray()
เมธอดที่ใช้ในการแปลงรายการเป็นอาร์เรย์
สมมติว่าเรามีรายการหุ้นในพอร์ตการเกษียณอายุที่จัดเก็บไว้ใน ArrayList เราได้ตัดสินใจว่าเราต้องการเก็บสิ่งนี้ไว้ในอาร์เรย์เพราะเราไม่ได้ตั้งใจที่จะเพิ่มหุ้นใหม่ลงในพอร์ตเพื่อการเกษียณอายุของเรา
เราสามารถแปลงรายการด้วยรายการหุ้นของเราเป็นอาร์เรย์ Java โดยใช้รหัสนี้:
import java.util.List; import java.util.Arrays; import java.util.ArrayList; class Main { public static void main(String[] args) { List<String> portfolio = new ArrayList<String>(); portfolio.add("BAM"); portfolio.add("GOOGL"); portfolio.add("SBUX"); String[] newPortfolio = new String[portfolio.size()]; portfolio.toArray(newPortfolio); System.out.println("Portfolio: " + Arrays.toString(newPortfolio)); } }
รหัสของเราส่งคืน:
Portfolio: [BAM, GOOGL, SBUX]
มาทำลายรหัสของเรากัน ขั้นแรก เรานำเข้าไลบรารีสามไลบรารีลงในโปรแกรมของเรา ได้แก่ List, Arrays และ ArrayList ไลบรารี List ช่วยให้เราทำงานกับอินเทอร์เฟซ Java List ได้ ไลบรารี ArrayList ช่วยให้เราทำงานกับ ArrayLists และ Arrays ช่วยให้เราใช้ toString()
วิธีการพิมพ์อาร์เรย์ของเราไปยังคอนโซล
จากนั้นเราประกาศ ArrayList ที่เรียกว่าพอร์ตโฟลิโอซึ่งเก็บค่าสตริง จากนั้นเราใช้ add()
วิธีการเพิ่มสามค่าให้กับพอร์ตโฟลิโอของเรา:BAM, GOOGL และ SBUX
ในบรรทัดถัดไปของโค้ด เราสร้างอาร์เรย์ชื่อ newPortfolio
และเริ่มต้นอาร์เรย์และขนาดของอาร์เรย์ เรากำหนดความจุของ newPortfolio
อาร์เรย์สตริง — จำนวนค่าที่สามารถเก็บได้ — เพื่อให้เท่ากับความยาวของอาร์เรย์พอร์ตโฟลิโอ ดังนั้น ในกรณีนี้ newPortfolio
อาร์เรย์จะสามารถเก็บค่าได้สามค่า
ต่อไปเราจะใช้ toArray()
วิธีการแปลง ArrayList ผลงานของเราเป็นอาร์เรย์และกำหนด newPortfolio
จัดเรียงค่าที่เก็บไว้ในพอร์ตตัวแปร จากนั้นเราใช้ Arrays.toString()
เพื่อแปลง newPortfolio
ตัวแปรเป็นสตริงค่าที่อ่านได้ สุดท้าย เราพิมพ์ข้อความ Portfolio:
ตามด้วยค่าที่ส่งคืนโดย Arrays.toString()
, ไปที่คอนโซล
แปลงอาร์เรย์เป็นรายการ
asList()
เมธอดที่ใช้ในการแปลงอาร์เรย์เป็น ArrayList ใน Java
กลับไปที่ตัวอย่างพอร์ตการเกษียณอายุจากก่อนหน้านี้ สมมติว่าเรามีหุ้นหลายตัวในพอร์ตการเกษียณอายุซึ่งเราต้องการแปลงเป็น ArrayList เราสามารถทำได้โดยใช้รหัสนี้:
import java.util.Arrays; import java.util.List; class Main { public static void main(String[] args) { String[] portfolio = {"BAM", "GOOGL", "SBUX"}; List<String> newPortfolio = Arrays.asList(portfolio); System.out.println("New portfolio: " + newPortfolio); } }
รหัสของเราส่งคืน:
New portfolio: [BAM, GOOGL, SBUX]
ในตัวอย่างนี้ เราใช้ asList()
เพื่อแปลงอาร์เรย์พอร์ตการเกษียณอายุของเราที่เรียกว่า portfolio
ไปที่รายการ มาทำลายโค้ดของเรากัน
ขั้นแรก เรานำเข้าแพ็คเกจ Arrays และ List ซึ่งมีวิธีการที่เราต้องการเพื่อแปลงอาร์เรย์ของเราเป็นรายการ จากนั้นเราจะประกาศตัวแปรที่เรียกว่าพอร์ตโฟลิโอซึ่งมีอาร์เรย์ของหุ้นในพอร์ตเพื่อการเกษียณอายุของเรา
ในบรรทัดถัดไป เราใช้ Arrays.asList()
วิธีการแปลงเนื้อหาของ portfolio
อาร์เรย์ไปยังรายการ จากนั้นเรากำหนดรายการใหม่ให้กับตัวแปร newPortfolio
. สุดท้าย เราก็พิมพ์ข้อความ New portfolio:
ตามด้วยเนื้อหาของ newPortfolio
อาร์เรย์
บทสรุป
Java toArray()
เมธอดที่ใช้ในการแปลงรายการเป็นอาร์เรย์ และ asList()
เมธอดที่ใช้ในการแปลงอาร์เรย์เป็นรายการ
บทช่วยสอนนี้กล่าวถึงโดยอ้างอิงถึงตัวอย่าง วิธีแปลง ArrayList เป็นอาร์เรย์ และอาร์เรย์เป็น ArrayList ใน Java นอกจากนี้ บทช่วยสอนนี้ยังกล่าวถึงความแตกต่างหลักระหว่างคลาส ArrayList และชนิดข้อมูลอาร์เรย์ ตอนนี้คุณพร้อมที่จะเริ่มแปลง ArrayLists เป็นอาร์เรย์แล้ว และในทางกลับกัน เช่นเดียวกับ Java coder มืออาชีพ!