ถึง Java ArrayList เป็นอาร์เรย์ที่ปรับขนาดได้เอนกประสงค์ ให้สิ่งอำนวยความสะดวกส่วนใหญ่ที่คาดหวังโดยทั่วไปของอาร์เรย์ในภาษาอื่น ซึ่งรวมถึง: การเข้าถึงองค์ประกอบโดยใช้ดัชนี การเพิ่ม การลบและการอัปเดตองค์ประกอบ การปรับขนาดแบบไดนามิก การวนซ้ำองค์ประกอบ ฯลฯ การดำเนินการเหล่านี้ส่วนใหญ่ได้รับการปรับแต่งเป็นพิเศษสำหรับการใช้งานทั่วไป
โอนไฟล์จาก Google ไดรฟ์เครื่องหนึ่งไปยังอีกเครื่องหนึ่ง
มี 'อาร์เรย์' อีกสองสามประเภท (คลาสที่ใช้ รายการ ส่วนต่อประสานเป็นเทคนิค) ซึ่งมีวัตถุประสงค์เพื่อวัตถุประสงค์พิเศษ ซึ่งรวมถึง:
- LinkedList รองรับการแทรกและนำออกอย่างรวดเร็วที่ดัชนีระดับกลาง
- เวกเตอร์ คล้ายกับ an ArrayList แต่ซิงโครไนซ์และเหมาะสมแทน an ArrayList สำหรับการใช้งานแบบมัลติเธรด
- ซ้อนกัน รองรับการดำเนินการเลียนแบบรายการเข้าก่อนออกก่อน มันขยาย เวกเตอร์ และด้วยเหตุนี้จึงซิงโครไนซ์
ชั้นเรียนพิเศษเหล่านี้อยู่นอกขอบเขตของบทความนี้ อย่างไรก็ตาม คุณจะได้เรียนรู้วิธีตั้งค่าและใช้งาน Java ArrayList ทั่วไป
การสร้าง ArrayList
การสร้าง ArrayList เป็นเรื่องง่าย ว่างเปล่า ArrayList สามารถสร้างได้โดยใช้ตัวสร้างที่ไม่มีอาร์กิวเมนต์ ที่นี่เราสร้าง arraylist ว่างสำหรับเก็บสตริง
ArrayList alist = new ArrayList();
หากคุณรู้ว่ารายการอาร์เรย์ของคุณมีกี่รายการ คุณสามารถระบุความจุเริ่มต้นได้ ความจุเริ่มต้นนี้เป็นเพียงคำใบ้สำหรับการจัดสรรหน่วยความจำ -- รายการอาร์เรย์ไม่ได้ถูกจำกัดให้ถือตามจำนวนรายการที่ระบุ หากคุณทราบและระบุความจุเริ่มต้น คุณ อาจ ปรับปรุงประสิทธิภาพเล็กน้อย
ArrayList alist = new ArrayList(20);
กำลังเติม ArrayList
การเพิ่มรายการในตอนท้าย
การเติม arraylist นั้นค่อนข้างง่าย เพียงแค่ใช้ เพิ่ม() วิธีการเพิ่มรายการเดียวที่ส่วนท้ายของรายการอาร์เรย์ นี่คือตัวอย่าง:
ArrayList alist = new ArrayList();
alist.add('apple');
alist.add('banana');
alist.add('cantaloupe');
alist.add('orange');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, orange]
ในการค้นหาว่ามีกี่รายการในรายการอาร์เรย์ ให้ใช้เมธอด ขนาด() .
System.out.println('Number of elements in the arraylist: ' + alist.size());
# prints
Number of elements in the arraylist: 4
การเพิ่มรายการที่ดัชนีที่ระบุ
ต้องการเพิ่มรายการที่ดัชนีที่กำหนดเองหรือไม่? ระบุดัชนีเป็นอาร์กิวเมนต์แรกและรายการถูกเพิ่มที่ดัชนีนั้น:
alist.add(3, 'grapes');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange]
การเพิ่มพวงของรายการ
คุณสามารถเพิ่มรายการจากคอลเลกชันใดๆ ใน Java Collections Hierarchy ได้เช่นกัน หนึ่ง ArrayList เป็นชนิดเฉพาะที่เรียกว่า รายการ . นี่คือวิธีสร้าง a รายการ จากพวงของรายการ (โดยใช้ Arrays.asList() ) และเพิ่มลงใน an ArrayList .
List items = Arrays.asList('pear', 'cherry');
alist.addAll(items);
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]
แน่นอน คุณสามารถระบุดัชนีเป็นอาร์กิวเมนต์แรกที่นี่เพื่อเพิ่มรายการที่เริ่มต้นที่ดัชนีนั้น
การเข้าถึงรายการ
เมื่อเพิ่มรายการลงในรายการอาร์เรย์แล้ว เราจะเข้าถึงรายการเหล่านั้นอีกครั้งได้อย่างไร
การเข้าถึงด้วยดัชนี
หากคุณทราบดัชนีของรายการ คุณสามารถใช้เครื่องหมาย รับ() วิธีการดึงองค์ประกอบที่ดัชนีนั้น
usb c เร็วกว่า usb 3.0
String item = alist.get(2);
System.out.println('Item at index 2 is: ' + item);
# prints
Item at index 2 is: cantaloupe
หาของ
เกิดอะไรขึ้นถ้าคุณไม่ทราบดัชนีของรายการ? คุณสามารถใช้ได้ ดัชนีของ() เพื่อตรวจสอบว่ามีรายการอยู่ในอาร์เรย์หรือไม่และดึงข้อมูลรายการโดยใช้ดัชนีที่ส่งคืน
System.out.println(alist);
int index = alist.indexOf('orange');
if ( index <0 )
System.out.println('Item 'orange' not found');
else
System.out.println('Item 'orange' found at index ' + index);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]
Item 'orange' found at index 4
เกิดอะไรขึ้นถ้าไม่มีรายการอยู่ใน arraylist? NS ดัชนีของ() วิธีการคืนค่า -1 เมื่อไม่พบรายการ
index = alist.indexOf('grape');
if ( index <0 )
System.out.println('Item 'grape' not found');
else
System.out.println('Item 'grape' found at index ' + index);
# prints
Item 'grape' not found
วนซ้ำผ่าน ArrayList
แน่นอน การใช้งานทั่วไปของ an ArrayList กำลังวนซ้ำองค์ประกอบ สามารถทำได้หลายวิธี เราแสดงสิ่งง่ายๆสองสามข้อที่นี่
นี่เป็นวิธีที่ง่ายที่สุดในการวนซ้ำรายการอาร์เรย์และแยกรายการสำหรับการประมวลผลบางประเภท
for (String fruit : alist) {
System.out.println('Found fruit '' + fruit + ''');
}
# prints
Found fruit 'apple'
Found fruit 'banana'
Found fruit 'cantaloupe'
Found fruit 'grapes'
Found fruit 'orange'
Found fruit 'pear'
Found fruit 'cherry'
รหัสนี้ใช้ Java Enhanced For-Loop ซึ่งเปิดตัวใน Java 1.5 ก่อนหน้านั้น คุณสามารถวนซ้ำรายการด้วยตัววนซ้ำ นอกจากนี้ยังใช้ตัววนซ้ำเมื่อคุณต้องการ ลบ องค์ประกอบระหว่างกระบวนการวนซ้ำดังตัวอย่างด้านล่างแสดงให้เห็น (โปรดทราบว่าเราสร้างสำเนาของรายการอาร์เรย์และดำเนินการกับสำเนา)
ArrayList blist = new ArrayList(alist);
for (Iterator iter = blist.iterator() ; iter.hasNext() ; ) {
String fruit = iter.next();
if ( fruit.startsWith('c') )
iter.remove();
else
System.out.println('Keeping '' + fruit + ''');
}
# prints
Keeping 'apple'
Keeping 'banana'
Keeping 'grapes'
Keeping 'orange'
Keeping 'pear'
การแทนที่รายการ
เมื่อเพิ่มรายการแล้ว เราต้องการวิธีการแทนที่รายการที่ไม่ต้องการ ที่สามารถทำได้โดยใช้ ชุด() วิธีการที่มีดัชนี
alist.set(5, 'pineapple');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pineapple, cherry]
การลบรายการ
ให้เราดูว่าเราจะลบรายการออกจากรายการอาร์เรย์ได้อย่างไร หากคุณรู้ดัชนีของรายการ (บางทีคุณใช้ ดัชนีของ() ที่อธิบายไว้ข้างต้น) คุณสามารถใช้ ลบ() วิธีการที่มีดัชนี ส่งคืนองค์ประกอบที่ถูกลบ
String fruit = alist.remove(2);
System.out.println('Removed element at 2: ' + fruit);
# prints
Removed element at 2: cantaloupe
คุณยังสามารถระบุองค์ประกอบที่จะลบ แรก การเกิดขององค์ประกอบในรายการ วิธีการส่งคืน จริง หากพบและนำองค์ประกอบออก
วิธีลง windows ใหม่จาก usb
fruit = 'grapes';
System.out.println('Remove ' +fruit+ ' from the list? ' + alist.remove(fruit));
# prints
Remove grapes from the list? true
คุณใช้ . อย่างไร ArrayList ในโครงการของคุณและพบปัญหาพิเศษอะไรบ้าง? โปรดแจ้งให้เราทราบในความคิดเห็นด้านล่าง
แบ่งปัน แบ่งปัน ทวีต อีเมล วิธีเข้าถึงระดับบับเบิ้ลในตัวของ Google บน Androidหากคุณเคยต้องการให้แน่ใจว่าบางสิ่งบางอย่างอยู่ในระดับที่รวดเร็ว ตอนนี้คุณสามารถรับระดับฟองบนโทรศัพท์ของคุณในไม่กี่วินาที
อ่านต่อไป หัวข้อที่เกี่ยวข้อง- การเขียนโปรแกรม
- Java
สมัครรับจดหมายข่าวของเรา
เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!
คลิกที่นี่เพื่อสมัครสมาชิก