ทุกคนจะได้สัมผัสกับการสัมภาษณ์ทั้งเล็กและใหญ่ การเตรียมตัวสำหรับการสัมภาษณ์ Java จะต้องเกี่ยวข้องกับคะแนนทดสอบโมดูลที่ค่อนข้างใหญ่หลายจุด อาจกล่าวได้ว่าอาร์เรย์เป็นโมดูลอิสระใน Java และจุดความรู้ในนั้นได้สร้างโครงสร้างความรู้ที่สมบูรณ์ ในการตรวจสอบจริง จะเกี่ยวข้องกับการอภิปรายเกี่ยวกับตัวแปร การใช้งานจริงของอัลกอริทึม ฯลฯ ด้านล่างนี้เราจะกล่าวถึงเรื่องทั่วไป คำถามสัมภาษณ์อาร์เรย์ Java นำการแบ่งปัน
1. ความรู้พื้นฐาน
1. จำเป็นต้องเริ่มต้นตัวแปร Java หรือไม่?
ไม่แน่นอน ตัวแปรอาร์เรย์ Java เป็นตัวแปรประเภทข้อมูลอ้างอิง ไม่ใช่วัตถุอาร์เรย์นั้นเอง ตราบใดที่ตัวแปรอาร์เรย์ชี้ไปที่วัตถุอาร์เรย์ที่ถูกต้อง ตัวแปรอาร์เรย์ก็สามารถใช้ได้ การเริ่มต้นอาร์เรย์ไม่ได้เตรียมใช้งานตัวแปรอาร์เรย์ แต่เตรียมใช้งานวัตถุอาร์เรย์ กล่าวคือ การจัดสรรพื้นที่หน่วยความจำต่อเนื่องสำหรับวัตถุอาร์เรย์ และพื้นที่หน่วยความจำต่อเนื่องนี้คือความยาวของอาร์เรย์
2. ตัวแปรประเภทพื้นฐานทั้งหมดอยู่ในหน่วยความจำสแต็กหรือไม่
ผิด. ควรกล่าวดังนี้: ตัวแปรภายในเครื่องทั้งหมดจะถูกจัดเก็บไว้ในหน่วยความจำสแต็ก ไม่ว่าจะเป็นตัวแปรประเภทพื้นฐานหรือตัวแปรประเภทอ้างอิง ตัวแปรเหล่านั้นจะถูกจัดเก็บไว้ในพื้นที่สแต็กของวิธีการตามลำดับ แต่อ็อบเจ็กต์ถูกอ้างอิงโดยตัวแปรประเภทอ้างอิง (รวมถึงอาร์เรย์ สามัญ อ็อบเจ็กต์ Java) จะถูกจัดเก็บไว้ในหน่วยความจำฮีปเสมอ
3. เมื่อใดที่ตัวแปรอ้างอิงเป็นเพียงตัวแปรในหน่วยความจำสแต็ก และเมื่อใดที่จะกลายเป็นอ็อบเจ็กต์ Java ที่อ้างอิงถึงอินสแตนซ์
ตัวแปรอ้างอิงโดยพื้นฐานแล้วเป็นเพียงตัวชี้ ตราบใดที่โปรแกรมเข้าถึงคุณสมบัติผ่านตัวแปรอ้างอิง หรือเรียกวิธีการผ่านตัวแปรอ้างอิง ตัวแปรอ้างอิงจะถูกแทนที่ด้วยอ็อบเจ็กต์ที่อ้างอิงถึง
2. โค้ดตัวอย่าง
หมุนอาร์เรย์:
ตัวอย่างเช่น: องค์ประกอบในอาร์เรย์คือ 123456 และหลังจากพลิกกลับเป็น 561234
เมื่อพิจารณาถึงอาร์เรย์ที่มีความยาว n จำเป็นต้องย้ายองค์ประกอบ k สุดท้ายไปด้านหน้า และองค์ประกอบ nk แรกไปด้านหลัง
//ขั้นแรกปรับปรุงวิธีการในคำถามสัมภาษณ์ 1 เปลี่ยนการพลิกจากต้นจนจบเป็นพลิกจาก i เป็น j public int[] changeArray2(int[] array, int i, int j) { อุณหภูมิภายใน = 0; ในขณะที่ (ฉัน <เจ) { อุณหภูมิ = อาร์เรย์ [i]; อาร์เรย์[i] = อาร์เรย์[j]; อาร์เรย์[j] = อุณหภูมิ; ฉัน++; เจ--; - // การหมุนอาร์เรย์สามารถทำได้ด้วยวิธีต่อไปนี้ //1. พลิกครึ่งแรก 2. พลิกครึ่งหลัง 3. ย้อนกลับอาร์เรย์ทั้งหมด public int[] swap(int[] array, int k) { int n = array.length - 1;// n=5 changeArray2(อาร์เรย์, 0, n - k); changeArray2(อาร์เรย์, n - k + 1, n); changeArray2(อาร์เรย์, 0, n); ส่งคืนอาร์เรย์; - -
ข้างต้นคือ การแสดงคำถามสัมภาษณ์ในอาร์เรย์ Java เมื่อตรวจสอบอาร์เรย์ คุณต้องมีความเข้าใจที่ชัดเจนเกี่ยวกับโครงสร้างความรู้ขั้นพื้นฐานที่สุด และในขณะเดียวกัน คุณต้องคำนึงถึงจุดทดสอบง่ายๆ เมื่อตรวจสอบด้วย