Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะคัดลอกส่วนเฉพาะของอาร์เรย์ใน Java ได้อย่างไร?


การใช้เมธอด copyOf()

copyOf() เมธอดของคลาส Arrays (แพ็คเกจ java.util) ยอมรับพารามิเตอร์สองตัว -

  • อาร์เรย์ (ประเภทใดก็ได้)

  • ค่าจำนวนเต็มแสดงถึงความยาว

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

ตัวอย่าง

<ก่อน>นำเข้า java.util.Arrays;คลาสสาธารณะ CopyingSectionOfArray { โมฆะคงที่สาธารณะหลัก (สตริง [] args) { สตริง str [] =สตริงใหม่ [10]; //กำลังเติมอาร์เรย์ str[0] ="Java"; str[1] ="WebGL"; str[2] ="OpenCV"; str[3] ="OpenNLP"; str[4] ="JOGL"; str[5] ="ฮาดูป"; str[6] ="HBase"; str[7] ="ฟลูม"; str[8] ="ควาญ"; str[9] ="อิมพาลา"; System.out.println("เนื้อหาของอาร์เรย์:\n"+Arrays.toString(str)); สตริง[] newArray =Arrays.copyOf(str, 5); System.out.println("เนื้อหาของอาร์เรย์การคัดลอก:\n"+Arrays.toString(newArray)); }}

ผลลัพธ์

เนื้อหาของอาร์เรย์:[Java, WebGL, OpenCV, OpenNLP, JOGL, Hadoop, HBase, Flume, Mahout, Impala]เนื้อหาของอาร์เรย์การคัดลอก:[Java, WebGL, OpenCV, OpenNLP, JOGL]

การใช้เมธอด copyOfRange()

copyOfRange() เมธอดของคลาส Arrays (แพ็คเกจ java.util) ยอมรับพารามิเตอร์สามตัว -

  • อาร์เรย์ (ประเภทใดก็ได้)

  • ค่าจำนวนเต็มสองค่าที่แสดงถึงตำแหน่งเริ่มต้นและสิ้นสุดของอาร์เรย์

และคัดลอกเนื้อหาของอาร์เรย์ที่ระบุในช่วงที่ระบุ ส่งคืนอาร์เรย์ใหม่

ตัวอย่าง

<ก่อน>นำเข้า java.util.Arrays;คลาสสาธารณะ CopyingSectionOfArray { โมฆะคงที่สาธารณะหลัก (สตริง [] args) { สตริง str [] =สตริงใหม่ [10]; //กำลังเติมอาร์เรย์ str[0] ="Java"; str[1] ="WebGL"; str[2] ="OpenCV"; str[3] ="OpenNLP"; str[4] ="JOGL"; str[5] ="ฮาดูป"; str[6] ="HBase"; str[7] ="ฟลูม"; str[8] ="ควาญ"; str[9] ="อิมพาลา"; System.out.println("เนื้อหาของอาร์เรย์:\n"+Arrays.toString(str)); สตริง[] newArray =Arrays.copyOfRange(str, 2, 7); System.out.println("เนื้อหาของอาร์เรย์การคัดลอก:\n"+Arrays.toString(newArray)); }}

ผลลัพธ์

เนื้อหาของอาร์เรย์:[Java, WebGL, OpenCV, OpenNLP, JOGL, Hadoop, HBase, Flume, Mahout, Impala]เนื้อหาของอาร์เรย์การคัดลอก:[OpenCV, OpenNLP, JOGL, Hadoop, HBase]