1. อาร์เรย์เป็นคอนเทนเนอร์ขององค์ประกอบ
คุณคงเคยได้ยินว่าคอมพิวเตอร์สามารถประมวลผลข้อมูลจำนวนมหาศาลได้ แน่นอน ข้อความแสดงเงื่อนไข ( if-else
) และลูป ( for
, while
) จะช่วยได้มากที่นี่ แต่พวกเขาสามารถพาคุณไปได้ไกลเท่านั้น ท้ายที่สุดแล้ว ข้อมูลที่คุณประมวลผลจำเป็นต้องได้รับการจัดเก็บด้วยวิธีใดวิธีหนึ่ง
เช่นเดียวกับภาษาการเขียนโปรแกรมเกือบทั้งหมด Java อำนวยความสะดวกในการประมวลผลข้อมูลโดยจัดเตรียมสิ่งที่ยอดเยี่ยมที่เรียกว่าอาร์เรย์ ( Array
คลาส) บางครั้งก็เรียกว่าตาราง
อาร์เรย์เป็นวัตถุพิเศษที่ให้คุณเก็บค่าเดียวไม่ได้ แต่เก็บได้หลายค่า
ก่อนหน้านี้ เราเปรียบเทียบตัวแปรกับกล่อง (ซึ่งคุณสามารถเก็บค่าใดๆ ก็ได้) จากการเปรียบเทียบนั้น เราอาจคิดว่าอาร์เรย์เป็นกล่องที่มีช่องภายใน แต่ละช่องใน "กล่อง" (อาร์เรย์) มีหมายเลข แน่นอน เลขเริ่มต้นจากศูนย์...
หรือเราจะเปรียบเทียบอีกอย่างก็ได้ ลองเปรียบเทียบบ้านธรรมดากับอาคารอพาร์ตเมนต์สูง บ้านธรรมดาถูกครอบครองโดยครอบครัวเดี่ยว แต่อาคารอพาร์ตเมนต์สูงแบ่งออกเป็นอพาร์ตเมนต์ หากคุณต้องการส่งจดหมายถึงครอบครัวที่อาศัยอยู่ในบ้านธรรมดา คุณต้องระบุที่อยู่เฉพาะของบ้าน และในการส่งจดหมายถึงครอบครัวที่อาศัยอยู่ในอพาร์ตเมนต์ คุณต้องระบุที่อยู่เฉพาะของอาคารและหมายเลขอพาร์ตเมนต์
ตัวแปรอาร์เรย์ก็เหมือนตัวแปรแนวสูง ไม่สามารถเก็บค่าเดียว แต่มีหลายค่า ตัวแปรดังกล่าวมีหลายอพาร์ทเมนต์ (เซลล์) แต่ละคนสามารถระบุได้ด้วยหมายเลข (ดัชนี)
เมื่อต้องการทำเช่นนี้ ให้ระบุดัชนีของเซลล์ที่คุณต้องการระบุหลังจากชื่อตัวแปร โดยห่อดัชนีไว้ในวงเล็บเหลี่ยม มันค่อนข้างง่าย:
array[index] = value;
โดยที่array
ชื่อของตัวแปรอาร์เรย์index
คือหมายเลขเซลล์ในอาร์เรย์ และvalue
เป็นค่าที่เราต้องการใส่ลงในเซลล์ที่ระบุ
แต่มาเริ่มกันที่วิธีการสร้างอาร์เรย์กันก่อน
2. การสร้างอาร์เรย์ขององค์ประกอบใน Java
สมมติว่าโปรแกรมของคุณต้องการเก็บ100
จำนวนเต็มไว้ที่ใดที่หนึ่ง อาร์เรย์จะเป็นตัวเลือกที่ดีสำหรับสิ่งนี้ และคุณจะสร้างมันขึ้นมาได้อย่างไร?
หากเราต้องการเก็บจำนวนเต็มเดียว ประเภทint
จะเหมาะกับเรา แต่ถ้าเราต้องการเก็บ100
จำนวนเต็ม เราอาจต้องการอาร์เรย์ของint
s นี่คือลักษณะของรหัสที่จะสร้าง:
int[] array = new int[100];
ลองมาสำรวจคำกล่าวนี้กัน
อย่างที่คุณอาจคาดเดา ทางด้านซ้ายของเครื่องหมายเท่ากับ เรามีการประกาศตัวแปรที่มีarray
ประเภทเป็นint[]
. ประเภทint
ตามด้วยวงเล็บเหลี่ยมซึ่งบอกใบ้ว่า "กล่อง" ประเภทนี้ไม่สามารถเก็บค่าได้เพียงค่าเดียวแต่มีหลายค่า
ทางด้านขวาของเครื่องหมายเท่ากับ เรามีตัวอย่าง "การสร้างวัตถุ" (คีย์เวิร์ดnew
) เพื่อรับ100
องค์ประกอบ (เซลล์) ซึ่งมีประเภทเป็น int ไม่มีอะไรยากเกินไปที่นี่
ในทำนองเดียวกัน หากเราต้องการสร้างอาร์เรย์20เซลล์เพื่อเก็บจำนวนจริง โค้ดของเราจะมีลักษณะดังนี้:
double[] vals = new double[20];
จำนวนเซลล์ในอาร์เรย์เรียกว่าขนาดของอาร์เรย์หรือ ความ ยาวของอาร์เรย์ และเนื่องจากอาร์เรย์สามารถเก็บค่าได้หลายค่า จึงเรียกอีกอย่างว่าคอนเทนเนอร์
นี่คือข้อเท็จจริงที่สำคัญ: คุณไม่สามารถเปลี่ยนขนาดของอาร์เรย์ได้หลังจากที่สร้างแล้ว
คุณสามารถสร้างใหม่ได้ แต่ไม่สามารถเปลี่ยนแปลงความยาวของคอนเทนเนอร์ที่มีอยู่ได้
3. การทำงานกับเซลล์ของอาร์เรย์
เอาล่ะ เราได้เรียนรู้วิธีสร้างอาร์เรย์แล้ว ตอนนี้เราจะทำงานร่วมกับพวกเขาอย่างไร?
เกือบจะเหมือนกับตัวแปรทั่วไป ข้อแตกต่างเพียงอย่างเดียวคือหลังจากชื่อของตัวแปรอาร์เรย์ เราต้องระบุจำนวนเซลล์ที่เรากำลังทำงานด้วย
จำนวนเซลล์ในอาร์เรย์จะเริ่มต้นจากศูนย์เสมอ หากเรามีอาร์เรย์ของ10
องค์ประกอบ ตัวเลข (ดัชนี) ของเซลล์จะ0..9
เป็น หากอาร์เรย์มี200
องค์ประกอบ ดัชนีจะ0..199
เป็น และอื่น ๆ โดยการเปรียบเทียบ
ตัวอย่าง:
รหัส | คำอธิบาย |
---|---|
|
สร้างอาร์เรย์ของ10 int องค์ประกอบ กำหนดค่า 4 ให้กับเซลล์ด้วย2 ดัชนี กำหนดค่า 9 ให้กับเซลล์ด้วย7 ดัชนี ในเซลล์ที่มีดัชนี 9 ให้เขียนผลรวมของค่าที่เก็บอยู่ในเซลล์2 (ซึ่งเก็บค่า4 ) และ5 (ซึ่งเก็บค่า0 ) |
นี่คือสิ่งที่จะถูกเก็บไว้ในหน่วยความจำหลังจากดำเนินการรหัสนี้:
คอลัมน์ทางด้านซ้าย (เป็นสีเทา) แสดงถึงหมายเลขเซลล์ (ดัชนี) เซลล์เก็บค่าที่กำหนด: 4
, 9
และ 4
เมื่ออาร์เรย์ถูกสร้างขึ้นเซลล์ทั้งหมดจะเต็มไปด้วยศูนย์
นี้เป็นสิ่งสำคัญ. เซลล์ทั้งหมดในอาร์เรย์มีข้อมูลประเภทเดียวกัน ถ้าเราสร้างอาร์เรย์ของString
s จะสามารถเก็บเฉพาะสตริงไว้ในเซลล์ของมันได้ ชนิดข้อมูลของอาร์เรย์ถูกระบุเมื่อสร้างขึ้น ไม่สามารถเปลี่ยนประเภทข้อมูลหรือความยาวของอาร์เรย์ได้ในภายหลัง
GO TO FULL VERSION