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 โครงการหลักในทางปฏิบัติและความช่วยเหลือด้านงานกับ บริษัท ชั้นนำ

เตรียมความพร้อมสู่อาชีพแห่งอนาคต

การเรียนรู้ที่เชื่อถือได้ในอุตสาหกรรม - ใบรับรองที่เป็นที่ยอมรับในอุตสาหกรรม
เรียนรู้เพิ่มเติม