Array ใน Java: สิ่งที่คุณต้องรู้?
เผยแพร่แล้ว: 2020-11-30สารบัญ
บทนำ
หลังจากผ่านประเภทข้อมูลดั้งเดิมของ java พวกเราหลายคนจะมีคำถามว่าเราสามารถจัดเก็บมากกว่าหนึ่งรายการตามลำดับในดิสก์ได้หรือไม่? อาร์เรย์ใน java จะเป็นคำตอบสำหรับคำถามของเรา
อาร์เรย์คือโครงสร้างข้อมูลที่จัดเก็บรายการประเภทข้อมูลเดียวกันตามลำดับ อาร์เรย์ช่วยลดความซ้ำซ้อนของโค้ดและทำให้ง่ายขึ้น เมื่อเราต้องการเก็บค่าจำนวนมาก ให้พูด 50 ค่า จากนั้นการกำหนดค่าแต่ละค่าให้กับตัวแปรจะขัดแย้งกับความเรียบง่ายของโค้ด
อาร์เรย์สามารถเอาชนะปัญหานี้ได้ เราสามารถกำหนดค่าทั้งหมดเหล่านี้ให้กับอาร์เรย์เดียว แต่อย่าลืมว่าอาร์เรย์สามารถเก็บได้เฉพาะค่าของประเภทข้อมูลเดียวกันเท่านั้น
มาเริ่มกันเลย!
ประกาศและการเริ่มต้น
ในการใช้อาร์เรย์เราต้องประกาศและระบุประเภทข้อมูลของตัวแปรที่เราต้องการเก็บไว้ในอาร์เรย์ คล้ายกับภาษาการเขียนโปรแกรมทั้งหมด java ยังมีไวยากรณ์ที่ต้องติดตามสำหรับการประกาศ
int [] อาร์เรย์; //type1 int อาร์เรย์[]; //type2 |
เราสามารถประกาศอาร์เรย์ได้ทั้งสองวิธีดังที่แสดงในข้อมูลโค้ดด้านบน “Type2” เป็นวิธีดั้งเดิมในการประกาศอาร์เรย์ที่ยืมมาจาก c/c++ เมื่อเราประกาศอาร์เรย์เสร็จแล้ว เราต้องสร้างอาร์เรย์ใหม่ ซึ่งสามารถทำได้โดยใช้คีย์เวิร์ดใหม่

และรูปแบบการสร้างอาร์เรย์จะเป็นดังนี้ “data_type[] array = new array[array_length]” เราจำเป็นต้องกำหนดความยาวของอาร์เรย์ในขณะที่สร้างและไม่สามารถเพิ่มขนาดได้หลังจากสร้าง
หลังจากสร้างอาร์เรย์โดยระบุความยาวแล้ว อาร์เรย์จะกำหนดอาร์เรย์ว่างให้กับตัวแปรนั้น แล้วเราจะส่งค่าไปใส่ในอาร์เรย์ได้ในภายหลัง ลองมาดูรหัสสำหรับสิ่งนั้น
int [] array = ใหม่ int [ 10 ]; //ประกาศและ //สร้างอาร์เรย์ใหม่ //กำหนดค่าต่างๆ อาร์เรย์ [ 0 ] = 1 ; อาร์เรย์ [ 1 ] = 5 ; อาร์เรย์ [ 8 ] = 9 ; //วิธีที่2 int [] array = { 1 , 2 , 3 , 4 , 5 }; ระบบ . ออก _ พิมพ์ ( int [ 0 ]); |
ในขั้นต้น ตำแหน่งทั้งหมดจะเต็มไปด้วยศูนย์ในอาร์เรย์จำนวนเต็ม และเราสามารถแทนที่ค่าเหล่านั้นด้วยค่าของเราโดยกล่าวถึงดัชนีในวงเล็บเหลี่ยม ในตัวอย่างข้างต้น “วิธีที่ 2” เป็นอีกวิธีหนึ่งในการสร้างอาร์เรย์
วนรอบอาร์เรย์
เราสามารถใช้ for loop หรือ a while loop ในการวนรอบอาร์เรย์ โดยที่เราเพิ่มดัชนีสำหรับการวนซ้ำแต่ละครั้ง โปรดจำไว้ว่าการเข้าถึงองค์ประกอบที่มีดัชนีมากกว่าความยาวของอาร์เรย์จะเป็นข้อยกเว้น
int [] array = { 1 , 2 , 3 , 4 , 5 }; สำหรับ ( int i = 0 ;i < 5 ;i ++ ){ ระบบ . ออก _ พิมพ์(array[i] + “ “ ); } |
ข้อมูลโค้ดด้านบนพิมพ์ “1 2 3 4 5 ” เป็นเอาต์พุต
นอกจากนี้ยังมีลูปที่น่าสนใจอีกอันหนึ่งที่เรียกว่า “for-each loop” สำหรับการวนซ้ำในลูป
float [] array = { 1.2f , 2.3f , 3.4f , 4.5f , 5.6f }; สำหรับ ( float f : array){ ระบบ . ออก _ พิมพ์(f + “ “ ); } |
ข้อมูลโค้ดด้านบนแสดงการใช้งาน for-each loop โดยที่ตัวแปร float จะเปลี่ยนค่าเป็นรายการถัดไปในอาร์เรย์ในการวนซ้ำแต่ละครั้ง การใช้งานนี้ไม่ต้องการตัวแปรดัชนีใดๆ
ชำระเงิน: ArrayList ที่สมบูรณ์ใน Java: สิ่งที่คุณต้องรู้
วิธีการที่กำหนดไว้ล่วงหน้า
คลาส Arrays ใน java มาพร้อมกับวิธีการที่กำหนดไว้ล่วงหน้ามากมายที่นำไปใช้กับประเภทข้อมูลดั้งเดิมทั้งหมด ตัวอย่างเช่น ถ้าฉันต้องการจัดเรียงอาร์เรย์ด้วยจำนวนเต็มทั้งหมด และอาร์เรย์ที่มีจำนวนทศนิยมทั้งหมด ฉันก็สามารถใช้วิธีการเดียวกันสำหรับทั้งสองกรณี
มาดูวิธีการอาร์เรย์ที่กำหนดไว้ล่วงหน้าบางส่วนกัน
- เรียงลำดับ()
เมธอดนี้จะเรียงลำดับอาร์เรย์ที่ระบุในลำดับจากน้อยไปมาก และอัพเดตอาร์เรย์ที่จัดเรียง ตามที่กล่าวไปแล้วว่าวิธีนี้มีการใช้งานมากเกินไปสำหรับประเภทข้อมูลดั้งเดิมทั้งหมดในจาวา เมธอดสาธารณะนี้ไม่ส่งคืนสิ่งใดเนื่องจากเป็นประเภทส่งคืนเป็นโมฆะ

Arrays.sort(array_name) คือไวยากรณ์ที่ต้องติดตาม
float [] array = { 2.2f , 1.3f , 5.4f , 3.5f , 7.6f }; อาร์เรย์ _ เรียงลำดับ(อาร์เรย์); สำหรับ ( float f : array){ ระบบ . ออก _ พิมพ์(f + “ “ ); } |
ตัวอย่างข้างต้นจะพิมพ์ “1.3 2.2 3.5 5.4 7.6” ตามที่คาดไว้
- เติม()
วิธีนี้จะเติมอาร์เรย์ด้วยตัวแปรที่เราส่งในการเรียกใช้ฟังก์ชัน วิธีการนี้จะแทนที่การใช้งานแบบไร้เดียงสาของการวนรอบอาร์เรย์และกำหนดค่าให้กับตำแหน่งนั้น
Arrays.fill(array_name, value) คือไวยากรณ์ที่จะตามมา
float [] array = { 2.2f , 1.3f , 5.4f , 3.5f , 7.6f }; อาร์เรย์ _ เติม(array, 9.8f ); สำหรับ ( float f : array){ ระบบ . ออก _ พิมพ์(f + “ “ ); } |
ตัวอย่างข้างต้นจะแทนที่รายการทั้งหมดในอาร์เรย์ด้วย 9.8
- เท่ากับ ()
เมธอดนี้คาดหวังให้อาร์เรย์ 2 ตัวเป็นพารามิเตอร์ และคืนค่า จริง หากองค์ประกอบทั้งหมดในอาร์เรย์ 1 เท่ากับองค์ประกอบทั้งหมดของอาร์เรย์ 2 โปรดจำไว้ว่า เมธอดนี้คืนค่าเท็จ หากอาร์เรย์ทั้งสองมีความยาวต่างกัน หรือหากลำดับขององค์ประกอบต่างกัน .
Arrays.equals(array_1, array_2) คือไวยากรณ์ที่จะตามมา
float [] array1 = { 2.2f , 1.3f , 5.4f , 3.5f , 7.6f }; float [] array2 = { 2.2f , 1.3f , 5.4f , 3.5f , 7.6f }; float [] array3 = { 2.2f , 1.3f , 3.5f , 5.4f , 7.6f }; ระบบ . ออก _ println( อาร์เรย์ . เท่ากับ (array1,array2)); //line1 ระบบ . ออก _ println( อาร์เรย์ . เท่ากับ (array1,array3)); //line2 |
ตัวอย่างด้านบนจะพิมพ์ True สำหรับ line1 และ False สำหรับ line2
สำหรับการอ่านเพิ่มเติมเกี่ยวกับวิธีการอาร์เรย์ต่างๆ ใน java ให้ดูที่ เอกสาร ประกอบ
การเข้าถึงอาร์เรย์ในเมธอด
อาร์เรย์จะไม่มีประโยชน์หากเราไม่สามารถใช้ในฟังก์ชันได้ แต่ Java ไม่เคยทำให้คุณผิดหวัง เราสามารถส่งต่ออาร์เรย์ ส่งคืนอาร์เรย์ และใช้อาร์เรย์ในฟังก์ชัน java
ลองเดินผ่านพวกเขา

เราจำเป็นต้องระบุชนิดข้อมูลของอาร์เรย์ในการประกาศฟังก์ชัน เมื่อเราต้องการส่งอาร์เรย์ไปยังฟังก์ชัน Java ซึ่งเกือบจะคล้ายกับการส่งชนิดข้อมูลพื้นฐานไปยังฟังก์ชัน ในทำนองเดียวกัน เมื่อเราส่งคืนอาร์เรย์ เราจำเป็นต้องประกาศอาร์เรย์ที่มีอาร์เรย์เป็นประเภทการส่งคืน
โฟลต คงที่ สาธารณะ [] เรียงลำดับแล้ว ( อาร์เรย์ โฟลต []){ อาร์เรย์ _ เรียงลำดับ(อาร์เรย์); กลับ อาร์เรย์; } โมฆะ คงที่ สาธารณะ หลัก ( สตริง args[]){ float [] array1 = { 2.2f , 1.3f , 5.4f , 3.5f , 7.6f }; float [] array2 = เรียงลำดับ (array1); สำหรับ ( float f : array2) ระบบ . ออก _ พิมพ์(f + “ “ ); } |
ตัวอย่างข้างต้นพิมพ์ "1.3 2.2 3.5 5.4 7.6" ตามที่คาดไว้
อ่าน: MATLAB ประเภทข้อมูล: ทุกสิ่งที่คุณจำเป็นต้องรู้
บทสรุป
ตอนนี้คุณทราบอาร์เรย์ในจาวาแล้ว เข้าใจเกี่ยวกับการเริ่มต้นและการประกาศอาร์เรย์ สำรวจวิธีต่างๆ ในการวนซ้ำบนอาร์เรย์ เดินผ่านวิธีการอาร์เรย์ที่กำหนดไว้ล่วงหน้าบางส่วนและการเข้าถึงอาร์เรย์ในวิธีการต่างๆ คุณเต็มไปด้วยโครงสร้างข้อมูลที่มีประโยชน์ใน java เริ่มใช้งานได้ทันที!
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Java, OOP และการพัฒนาซอฟต์แวร์ฟูลสแตก โปรดดูประกาศนียบัตร PG ของ upGrad & IIIT-B ด้านการพัฒนาซอฟต์แวร์ฟูลสแตก ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง 9 + โครงการและการมอบหมาย สถานะศิษย์เก่า IIIT-B โครงการหลักในทางปฏิบัติและความช่วยเหลือด้านงานกับ บริษัท ชั้นนำ