wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

ArrayAndArrayListExam

Total questions: 60

Worksheet time: 33mins

Name
Class
Date
1.

ข้อใดคือการประกาศตัวแปรอาเรย์ของจำนวนเต็มในภาษา Java ที่ถูกต้อง

a)

int[] nums;

b)

array int nums;

c)

int nums();

d)

new int nums;

2.

คำสั่งใดใช้สำหรับสร้างอาเรย์ใหม่ในหน่วยความจำ

a)

create array

b)

new

c)

malloc

d)

init

3.

ถ้าต้องการหาขนาดของอาเรย์ในภาษา Java จะต้องใช้คุณสมบัติหรือเมธอดใด

a)

.size()

b)

.length

c)

.length()

d)

.count()

4.

ArrayList อยู่ในแพ็กเกจใดของภาษา Java

a)

java.io

b)

java.list

c)

java.util

d)

java.collection

5.

ข้อใดเป็นการประกาศตัวแปร ArrayList ที่เก็บ String

a)

ArrayList list = new ArrayList<>();

b)

ArrayList list = new ArrayList();

c)

List list = new ArrayList<>();

d)

ไม่มีข้อถูกต้อง

6.

เมื่อต้องการเพิ่มข้อมูลเข้าไปใน ArrayList ใช้เมธอดใด

a)

add()

b)

insert()

c)

push()

d)

put()

7.

เมื่อต้องการลบข้อมูลออกจาก ArrayList ใช้เมธอดใด

a)

delete()

b)

remove()

c)

pop()

d)

erase()

8.

ข้อใดกล่าวถึงข้อดีของการใช้ ArrayList

a)

เพิ่มขนาดข้อมูลได้

b)

ขนาดข้อมูลคงที่เสมอ

c)

ประมวลผลข้อมูลเร็ว

d)

สามารถเก็บข้อมูลชนิดต่าง ๆ ได้พร้อมกัน

9.

ArrayList มีลักษณะการจัดเก็บข้อมูลแบบใด

a)

แบบคงที่

b)

แบบขยายขนาดได้ตามต้องการ

c)

แบบวนซ้ำ

d)

แบบ Linked

10.

เครื่องหมายใดที่ใช้ในการเข้าถึงสมาชิกของอาเรย์ในภาษาโปรแกรมส่วนใหญ่

a)

( )

b)

{ }

c)

[ ]

d)

< >

11.

การเข้าถึงสมาชิกตัวแรกของอาเรย์จะต้องใช้ index อะไร

a)

0

b)

1

c)

-1

d)

10

12.

ข้อใดต่อไปนี้คือ ArrayList ที่สามารถเก็บข้อมูลได้หลายชนิด

a)

Template

b)

Generic

c)

Parameter

d)

Vector

13.

ข้อใดคือการประกาศอาเรย์ 2 มิติที่ถูกต้องในภาษา Java

a)

int[][] a

b)

int[2]a[3]

c)

new matrix int

d)

int a(2)(3)

14.

ถ้าต้องการเพิ่มข้อมูลเข้าไปในตำแหน่งที่ต้องการใน ArrayList ต้องใช้เมธอดใด

a)

add(index, element)

b)

put(index, element)

c)

set(index, element)

d)

insert(index, element)

15.

ถ้าต้องการแก้ไขข้อมูลในตำแหน่งที่ต้องการใน ArrayList ต้องใช้เมธอดใด

a)

add()

b)

replace()

c)

set()

d)

swap()

16.

ArrayList ไม่สามารถเก็บ primitive ได้เพราะอะไร

a)

ไม่มีคอนสตรัคเตอร์

b)

ต้องใช้ชนิดข้อมูล wrapper class

c)

ไม่มีเมธอดรองรับ

d)

ต้องใช้ชนิดข้อมูล int

17.

Wrapper ของ int คืออะไร

a)

Integer

b)

Int

c)

Number

d)

Int32

18.

ถ้าต้องการดูจำนวนข้อมูลทั้งหมดใน ArrayList ต้องใช้เมธอดใด

a)

size()

b)

length()

c)

count()

d)

total()

19.

เมื่อต้องการลบข้อมูลจาก ArrayList จะใช้เมธอดใด

a)

remove(value)

b)

delete(value)

c)

erase(value)

d)

del(value)

20.

การเรียกใช้เมธอด add() กับ ArrayList มีผลต่อการทำงานอย่างไร

a)

เพิ่มข้อมูลที่ตำแหน่งแรกสุด

b)

เพิ่มข้อมูลที่ตำแหน่งสุดท้าย

c)

ลบข้อมูลทั้งหมด

d)

ย้ายข้อมูลไปยังตำแหน่งใหม่

21.

การเข้าถึงข้อมูลใน ArrayList ด้วย index สามารถทำได้ด้วยเวลาเท่าไร

a)

เข้าถึงข้อมูลด้วยเวลาเฉลี่ยคงที่ O(1)

b)

เข้าถึงข้อมูลด้วยเวลาขึ้นอยู่กับจำนวนข้อมูล

c)

เข้าถึงข้อมูลด้วยเวลานานมาก

d)

เข้าถึงข้อมูลด้วยเวลาสั้นมาก

22.

การขยาย ArrayList เมื่อข้อมูลเต็มจะเกิดอะไรขึ้นกับหน่วยความจำ

a)

หน่วยความจำไม่เปลี่ยนแปลง

b)

มีการสร้าง buffer ใหม่ขึ้นมา

c)

ข้อมูลทั้งหมดจะถูกลบออกจากหน่วยความจำ

d)

มีการย้าย pointer ไปยังตำแหน่งใหม่

23.

การเข้าถึงข้อมูลที่ตำแหน่ง i ใน ArrayList สามารถทำได้ด้วยเวลา O(1) เพราะอะไร

4 lines
24.

ข้อใดกล่าวถึงการเข้าถึง index ของข้อมูล ในคลาส ArrayList ได้ถูกต้องที่สุด

a)

สามารถเข้าถึงข้อมูลได้โดยตรง

b)

ต้องใช้เมธอด get() เพื่อเข้าถึงข้อมูลแต่ละตำแหน่ง

c)

สามารถเข้าถึงแบบสุ่มได้เลย

d)

ต้องสร้าง clone ก่อนจึงจะเข้าถึงได้

25.

ข้อใดกล่าวถึงข้อจำกัดของ ArrayList ที่แตกต่างจากอาร์เรย์ปกติในภาษาโปรแกรมมิ่ง

a)

ไม่สามารถเก็บข้อมูลชนิด primitive ได้

b)

สามารถเก็บข้อมูลชนิดใดก็ได้

c)

เก็บข้อมูลชนิด primitive ได้

d)

สามารถเก็บข้อมูลแบบไม่จำกัดขนาด

26.

การใช้ Generic กับ ArrayList มีข้อดีอย่างไรเมื่อเทียบกับการไม่ใช้

a)

ทำให้โค้ดสั้นลง

b)

ช่วยป้องกันข้อผิดพลาดขณะคอมไพล์

c)

เก็บข้อมูลชนิด primitive ได้

d)

ทำให้เก็บ primitive ได้โดยตรง

27.

ข้อใดต่อไปนี้ 2 ข้อที่แตกต่างกันระหว่างอาร์เรย์กับ ArrayList

a)

ขนาดของอาร์เรย์คงที่แต่ ArrayList เปลี่ยนแปลงได้

b)

อาร์เรย์เก็บข้อมูลได้หลายชนิด

c)

ArrayList ไม่สามารถเก็บข้อมูลได้

d)

อาร์เรย์สามารถเพิ่มขนาดได้

28.

เมธอด set() ของ ArrayList คือ

a)

เปลี่ยนแปลงค่าข้อมูลในตำแหน่งที่ต้องการ

b)

ลบข้อมูลในตำแหน่งที่ต้องการ

29.

ค่าความซับซ้อนของการค้นหาข้อมูลใน ArrayList ที่มีข้อมูลจำนวน n รายการคือข้อใด

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

30.

ข้อใดกล่าวถึงการเข้าถึงข้อมูลใน ArrayList ได้ถูกต้องที่สุด

a)

เข้าถึงข้อมูลแบบสุ่มได้

b)

เข้าถึงข้อมูลแบบเรียงลำดับเท่านั้น

c)

เข้าถึงข้อมูลแบบย้อนกลับเท่านั้น

d)

เข้าถึงข้อมูลแบบต้องวนลูปทุกครั้ง

31.

ข้อใดกล่าวถึงการจัดเก็บข้อมูลในหน่วยความจำของ ArrayList

a)

จัดเก็บข้อมูลแบบต่อเนื่องในหน่วยความจำ

b)

จัดเก็บข้อมูลแบบกระจาย

c)

จัดเก็บข้อมูลแบบสุ่มตำแหน่ง

d)

จัดเก็บข้อมูลแบบแยกส่วน

32.

การจัดเก็บ ArrayList มีการจัดเก็บข้อมูลเพิ่มเติมในหน่วยความจำคืออะไร

a)

มีการจัดเก็บ metadata เพิ่มเติม

b)

มีการ index ข้อมูลเท่านั้น

c)

มีแต่ pointer เท่านั้น

d)

มีแต่ค่า null เท่านั้น

33.

ArrayList แตกต่างจาก LinkedList อย่างไร

a)

ArrayList เข้าถึงข้อมูลแบบสุ่มตำแหน่งได้รวดเร็วกว่า

b)

LinkedList เข้าถึงข้อมูลแบบสุ่มตำแหน่ง index ได้ช้ากว่า

c)

ArrayList เข้าถึงข้อมูลแบบเรียงลำดับตำแหน่ง index ได้ช้ากว่า

34.

ข้อใดกล่าวถึงการจัดเก็บข้อมูลแบบ contiguous memory ได้ถูกต้อง

a)

ข้อมูลแต่ละส่วนสามารถอยู่ตำแหน่งใดก็ได้

b)

ข้อมูลแต่ละส่วนจะถูกจัดเก็บในตำแหน่งที่ต่อเนื่องกันในหน่วยความจำ

c)

ข้อมูลแต่ละส่วนจะถูกจัดเก็บในตำแหน่งที่สุ่ม

d)

ข้อมูลแต่ละส่วนจะถูกจัดเก็บในตำแหน่งที่แยกกัน

35.

ข้อใดกล่าวถึงการเพิ่มข้อมูลใน ArrayList ที่มีขนาด capacity เต็มแล้วได้ถูกต้อง

a)

ข้อมูลจะถูกลบออก

b)

ขนาดของ ArrayList จะถูกขยายออก

c)

ข้อมูลจะถูกแทนที่

d)

ข้อมูลจะถูกจัดเก็บในตำแหน่งเดิม

36.

เมื่อต้องการตรวจสอบว่าข้อมูลอยู่ใน ArrayList หรือไม่

a)

find()

b)

contains()

c)

locate()

d)

include()

37.

การค้นหา ArrayList ที่มีขนาดใหญ่และไม่มีการจัดเรียงข้อมูลจะมีผลต่อประสิทธิภาพการทำงานอย่างไร

a)

ใช้ CPU มาก

b)

ใช้ disk มาก

c)

ใช้เวลาค้นหานานกว่าการจัดเรียงข้อมูล

d)

ไม่มีผลต่อประสิทธิภาพ

38.

การใช้ for-each loop กับ ArrayList มีข้อดีข้อเสียอย่างไร

a)

สามารถเข้าถึง index ได้โดยตรง

b)

ไม่สามารถแก้ไขข้อมูลในขณะวนลูปได้

c)

ใช้งานได้ง่าย

39.

ข้อใดกล่าวถูกต้องเกี่ยวกับการประกาศและใช้งานอาร์เรย์ในภาษา Java

a)

สามารถประกาศอาร์เรย์และกำหนดขนาดได้ทันที

b)

ประกาศอาร์เรย์โดยไม่กำหนดขนาด

c)

ประกาศอาร์เรย์โดยไม่กำหนดชนิดข้อมูล

d)

ประกาศอาร์เรย์โดยไม่กำหนดชื่อ

40.

ArrayList สามารถเก็บข้อมูลชนิดใดได้บ้างในภาษา Java

a)

ข้อมูล primitive โดยตรง

b)

ข้อมูลชนิด String

c)

ข้อมูลชนิดที่เป็นชนิดของ object

d)

ข้อมูลชนิด Integer

41.

ผลลัพธ์ของโปรแกรมต่อไปนี้คือ: int[] a = {1,2,3}; System.out.println(a[1]);

a)

1

b)

2

c)

3

d)

error

42.

ถ้าต้องการเพิ่มข้อมูลเข้าไปใน ArrayList โดยเพิ่มค่า 10 เข้าไป จะต้องใช้คำสั่งใด

a)

list.push(10);

b)

list.add(10);

c)

list.put(10);

d)

list.insert(10);

43.

ผลลัพธ์ของโปรแกรมต่อไปนี้คืออะไร int[] x = new int[3]; System.out.println(x[0]);

a)

0

b)

null

c)

1

d)

error

44.

ผลลัพธ์ของ ArrayList list = new ArrayList<>(); list.add("A"); list.add("B"); System.out.println(list.get(1));

a)

A

b)

B

c)

null

d)

error

45.

ถ้าต้องการลบข้อมูลที่ index 0 ใน ArrayList ควรใช้คำสั่งใด

a)

list.delete(0);

b)

list.remove(0);

c)

list.erase(0);

d)

list.pop(0);

46.

ถ้ากำหนดอาร์เรย์ int[] n = {5,10,15,20}; ผลลัพธ์ของ n.length คือ

a)

2

b)

3

c)

4

d)

5

47.

ผลลัพธ์ของโปรแกรมต่อไปนี้ ArrayList a = new ArrayList<>(); a.add(2); a.add(4); a.set(1, 10);

a)

[2,4]

b)

[10,4]

c)

[2,10]

48.

ผลลัพธ์ของโปรแกรม int[][] m = {{1,2},{3,4}}; System.out.println(m[1][0]);

a)

1

b)

2

c)

3

d)

4

49.

ถ้าต้องการเข้าถึงสมาชิกตัวสุดท้ายของ ArrayList ที่ชื่อ list

a)

list.get(list.size())

b)

list.get(list.size()-1)

c)

list.getLast()

d)

list.last()

50.

ถ้าต้องการแทรกข้อความว่า “Hello” ที่ตำแหน่ง index 1 ในตัวแปร ArrayList

a)

add("Hello",1)

b)

add(1,"Hello")

c)

insert(1,"Hello")

d)

set(1,"Hello")

51.

ข้อใดเป็นการแสดงค่าทุกค่าของอาเรย์ a

a)

for(int i:a) System.out.println(i);

b)

foreach(a) print(a);

c)

loop(a)

d)

printall(a)

52.

ผลลัพธ์ของโปรแกรม: ArrayList l=new ArrayList<>(); l.add("X"); l.add("Y"); l.remove("X");

a)

["X"]

b)

["Y"]

53.

ข้อใดต่อไปนี้ไม่สามารถใช้กับการลบสมาชิกในอาเรย์ได้

a)

ใช้เมธอดชื่อ remove()

b)

ไม่สามารถลบสมาชิก ต้องสร้างอาเรย์ใหม่และคัดลอกข้อมูล

c)

ใช้คอนสตรัคเตอร์ ArrayList

d)

ใช้คำสั่ง delete array

54.

กำหนด int[] a = {1,3,5}; a[1]=10; ผลลัพธ์คือ

a)

[1,3,5]

b)

[10,3,5]

c)

[1,10,5]

d)

error

55.

ถ้าต้องการตรวจสอบว่า list.contains(5) จะคืนค่าอะไร ถ้าใน list ไม่มีสมาชิกเป็น 5

a)

true

b)

false

c)

null

d)

error

56.

ถ้าต้องการหาจำนวนสมาชิกทั้งหมดของอาเรย์ 2 มิติ ใช้ a[][]

a)

a.size()

b)

a.length

c)

a.count()

d)

a.total()

57.

กำหนด ArrayList l = new ArrayList<>(); l.add(1); l.add(2); l.add(3); l.remove(2); ผลลัพธ์คือ

a)

[1,2]

b)

[1,3]

c)

[2,3]

58.

ผลลัพธ์ของการประกาศ int[] a=new int[5]; จะเป็นอย่างไร

a)

[1,1,1,1,1]

b)

[0,0,0,0,0]

c)

[null,null,null,null,null]

d)

error

59.

ข้อใดเป็นวิธีการวนลูปเพื่อเข้าถึงสมาชิกแต่ละตัวในออบเจ็กต์ประเภท ArrayList

a)

for loop

b)

while loop

c)

for-each loop

d)

do-while loop

60.

กำหนด int[] n={2,4,6,8}; System.out.println(n[2]*2); ผลลัพธ์คือ

a)

12

b)

6

c)

4

d)

16