สมมติว่าฉันใส่ 5 สตริงในArrayList
ไฟล์. ลำดับการแทรกและการดึงข้อมูลArrayList
จะเหมือนกันหรือไม่?
สมมติว่าฉันใส่ 5 สตริงในArrayList
ไฟล์. ลำดับการแทรกและการดึงข้อมูลArrayList
จะเหมือนกันหรือไม่?
คำตอบ:
ใช่ ArrayList เป็นคอลเลกชันที่ได้รับคำสั่งซื้อและยังคงรักษาลำดับการแทรก
ตรวจสอบรหัสด้านล่างและเรียกใช้:
public class ListExample {
public static void main(String[] args) {
List<String> myList = new ArrayList<String>();
myList.add("one");
myList.add("two");
myList.add("three");
myList.add("four");
myList.add("five");
System.out.println("Inserted in 'order': ");
printList(myList);
System.out.println("\n");
System.out.println("Inserted out of 'order': ");
// Clear the list
myList.clear();
myList.add("four");
myList.add("five");
myList.add("one");
myList.add("two");
myList.add("three");
printList(myList);
}
private static void printList(List<String> myList) {
for (String string : myList) {
System.out.println(string);
}
}
}
สร้างผลลัพธ์ต่อไปนี้:
Inserted in 'order':
one
two
three
four
five
Inserted out of 'order':
four
five
one
two
three
สำหรับข้อมูลโดยละเอียดโปรดดูเอกสารประกอบ: List (Java Platform SE7)
ครับ . ArrayList เป็นรายการลำดับ ลำดับการแทรกและการดึงข้อมูลจึงเหมือนกัน
หากคุณเพิ่มองค์ประกอบระหว่างการดึงข้อมูลลำดับจะไม่เหมือนเดิม
หากคุณเพิ่มไปที่ส่วนท้ายเสมอองค์ประกอบแต่ละรายการจะถูกเพิ่มเข้าไปในตอนท้ายและอยู่ในลักษณะนั้นจนกว่าคุณจะเปลี่ยน
หากคุณแทรกที่จุดเริ่มต้นเสมอองค์ประกอบแต่ละรายการจะปรากฏในลำดับย้อนกลับที่คุณเพิ่มเข้าไป
หากคุณแทรกไว้ตรงกลางคำสั่งจะเป็นอย่างอื่น
ใช่มันจะเหมือนเดิมเสมอไป จากเอกสารประกอบ
ต่อท้ายองค์ประกอบที่ระบุต่อท้ายรายการนี้ พารามิเตอร์: องค์ประกอบ e ที่จะต่อท้ายรายการนี้ Returns: true (ตามที่ Collection.add ระบุ (java.lang.Object))
add()
การใช้งานArrayList
public boolean More ...add(E e) {
ensureCapacity(size + 1); // Increments modCount!!
elementData[size++] = e;
return true;
}
ใช่มันยังคงเหมือนเดิม แต่ทำไมไม่ลองทดสอบง่ายๆล่ะ? สร้าง ArrayList เติมแล้วดึงองค์ประกอบ!