วิธีใช้ Java ArrayList

วิธีใช้ Java ArrayList

ถึง 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
เกี่ยวกับผู้เขียน เจ ศรีธา(เผยแพร่บทความ 17 บทความ) เพิ่มเติมจาก Jay Sridhar

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก