1. อาร์เรย์เป็นคอนเทนเนอร์ขององค์ประกอบ

คุณคงเคยได้ยินว่าคอมพิวเตอร์สามารถประมวลผลข้อมูลจำนวนมหาศาลได้ แน่นอน ข้อความแสดงเงื่อนไข ( if-else) และลูป ( for, while) จะช่วยได้มากที่นี่ แต่พวกเขาสามารถพาคุณไปได้ไกลเท่านั้น ท้ายที่สุดแล้ว ข้อมูลที่คุณประมวลผลจำเป็นต้องได้รับการจัดเก็บด้วยวิธีใดวิธีหนึ่ง

เช่นเดียวกับภาษาการเขียนโปรแกรมเกือบทั้งหมด Java อำนวยความสะดวกในการประมวลผลข้อมูลโดยจัดเตรียมสิ่งที่ยอดเยี่ยมที่เรียกว่าอาร์เรย์ ( Arrayคลาส) บางครั้งก็เรียกว่าตาราง

อาร์เรย์เป็นวัตถุพิเศษที่ให้คุณเก็บค่าเดียวไม่ได้ แต่เก็บได้หลายค่า

อาร์เรย์ Java

ก่อนหน้านี้ เราเปรียบเทียบตัวแปรกับกล่อง (ซึ่งคุณสามารถเก็บค่าใดๆ ก็ได้) จากการเปรียบเทียบนั้น เราอาจคิดว่าอาร์เรย์เป็นกล่องที่มีช่องภายใน แต่ละช่องใน "กล่อง" (อาร์เรย์) มีหมายเลข แน่นอน เลขเริ่มต้นจากศูนย์...

หรือเราจะเปรียบเทียบอีกอย่างก็ได้ ลองเปรียบเทียบบ้านธรรมดากับอาคารอพาร์ตเมนต์สูง บ้านธรรมดาถูกครอบครองโดยครอบครัวเดี่ยว แต่อาคารอพาร์ตเมนต์สูงแบ่งออกเป็นอพาร์ตเมนต์ หากคุณต้องการส่งจดหมายถึงครอบครัวที่อาศัยอยู่ในบ้านธรรมดา คุณต้องระบุที่อยู่เฉพาะของบ้าน และในการส่งจดหมายถึงครอบครัวที่อาศัยอยู่ในอพาร์ตเมนต์ คุณต้องระบุที่อยู่เฉพาะของอาคารและหมายเลขอพาร์ตเมนต์

ตัวแปรอาร์เรย์ก็เหมือนตัวแปรแนวสูง ไม่สามารถเก็บค่าเดียว แต่มีหลายค่า ตัวแปรดังกล่าวมีหลายอพาร์ทเมนต์ (เซลล์) แต่ละคนสามารถระบุได้ด้วยหมายเลข (ดัชนี)

เมื่อต้องการทำเช่นนี้ ให้ระบุดัชนีของเซลล์ที่คุณต้องการระบุหลังจากชื่อตัวแปร โดยห่อดัชนีไว้ในวงเล็บเหลี่ยม มันค่อนข้างง่าย:

array[index] = value;

โดยที่arrayชื่อของตัวแปรอาร์เรย์indexคือหมายเลขเซลล์ในอาร์เรย์ และvalueเป็นค่าที่เราต้องการใส่ลงในเซลล์ที่ระบุ

แต่มาเริ่มกันที่วิธีการสร้างอาร์เรย์กันก่อน


2. การสร้างอาร์เรย์ขององค์ประกอบใน Java

การสร้างอาร์เรย์ขององค์ประกอบใน Java

สมมติว่าโปรแกรมของคุณต้องการเก็บ100จำนวนเต็มไว้ที่ใดที่หนึ่ง อาร์เรย์จะเป็นตัวเลือกที่ดีสำหรับสิ่งนี้ และคุณจะสร้างมันขึ้นมาได้อย่างไร?

หากเราต้องการเก็บจำนวนเต็มเดียว ประเภทintจะเหมาะกับเรา แต่ถ้าเราต้องการเก็บ100จำนวนเต็ม เราอาจต้องการอาร์เรย์ของints นี่คือลักษณะของรหัสที่จะสร้าง:

int[] array = new int[100];

ลองมาสำรวจคำกล่าวนี้กัน

อย่างที่คุณอาจคาดเดา ทางด้านซ้ายของเครื่องหมายเท่ากับ เรามีการประกาศตัวแปรที่มีarrayประเภทเป็นint[]. ประเภทintตามด้วยวงเล็บเหลี่ยมซึ่งบอกใบ้ว่า "กล่อง" ประเภทนี้ไม่สามารถเก็บค่าได้เพียงค่าเดียวแต่มีหลายค่า

ทางด้านขวาของเครื่องหมายเท่ากับ เรามีตัวอย่าง "การสร้างวัตถุ" (คีย์เวิร์ดnew) เพื่อรับ100องค์ประกอบ (เซลล์) ซึ่งมีประเภทเป็น int ไม่มีอะไรยากเกินไปที่นี่

ในทำนองเดียวกัน หากเราต้องการสร้างอาร์เรย์20เซลล์เพื่อเก็บจำนวนจริง โค้ดของเราจะมีลักษณะดังนี้:

double[] vals = new double[20];

จำนวนเซลล์ในอาร์เรย์เรียกว่าขนาดของอาร์เรย์หรือ ความ ยาวของอาร์เรย์ และเนื่องจากอาร์เรย์สามารถเก็บค่าได้หลายค่า จึงเรียกอีกอย่างว่าคอนเทนเนอร์

นี่คือข้อเท็จจริงที่สำคัญ: คุณไม่สามารถเปลี่ยนขนาดของอาร์เรย์ได้หลังจากที่สร้างแล้ว

คุณสามารถสร้างใหม่ได้ แต่ไม่สามารถเปลี่ยนแปลงความยาวของคอนเทนเนอร์ที่มีอยู่ได้



3. การทำงานกับเซลล์ของอาร์เรย์

การทำงานกับเซลล์ของอาร์เรย์

เอาล่ะ เราได้เรียนรู้วิธีสร้างอาร์เรย์แล้ว ตอนนี้เราจะทำงานร่วมกับพวกเขาอย่างไร?

เกือบจะเหมือนกับตัวแปรทั่วไป ข้อแตกต่างเพียงอย่างเดียวคือหลังจากชื่อของตัวแปรอาร์เรย์ เราต้องระบุจำนวนเซลล์ที่เรากำลังทำงานด้วย

จำนวนเซลล์ในอาร์เรย์จะเริ่มต้นจากศูนย์เสมอ หากเรามีอาร์เรย์ของ10องค์ประกอบ ตัวเลข (ดัชนี) ของเซลล์จะ0..9เป็น หากอาร์เรย์มี200องค์ประกอบ ดัชนีจะ0..199เป็น และอื่น ๆ โดยการเปรียบเทียบ

ตัวอย่าง:

รหัส คำอธิบาย
int[] a = new int[10];
a[2] = 4;
a[7] = 9;
a[9] = a[2] + a[5];
สร้างอาร์เรย์ของ10 intองค์ประกอบ
กำหนดค่า4ให้กับเซลล์ด้วย2ดัชนี
กำหนดค่า9ให้กับเซลล์ด้วย7ดัชนี
ในเซลล์ที่มีดัชนี9ให้เขียนผลรวมของค่าที่เก็บอยู่ในเซลล์2(ซึ่งเก็บค่า4) และ5(ซึ่งเก็บค่า0)

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

การทำงานกับเซลล์ของ int array 2

คอลัมน์ทางด้านซ้าย (เป็นสีเทา) แสดงถึงหมายเลขเซลล์ (ดัชนี) เซลล์เก็บค่าที่กำหนด: 4, 9และ 4เมื่ออาร์เรย์ถูกสร้างขึ้นเซลล์ทั้งหมดจะเต็มไปด้วยศูนย์

นี้เป็นสิ่งสำคัญ. เซลล์ทั้งหมดในอาร์เรย์มีข้อมูลประเภทเดียวกัน ถ้าเราสร้างอาร์เรย์ของStrings จะสามารถเก็บเฉพาะสตริงไว้ในเซลล์ของมันได้ ชนิดข้อมูลของอาร์เรย์ถูกระบุเมื่อสร้างขึ้น ไม่สามารถเปลี่ยนประเภทข้อมูลหรือความยาวของอาร์เรย์ได้ในภายหลัง