FloatDataBuffer

ส่วนต่อประสานสาธารณะ FloatDataBuffer

DataBuffer ของการลอยตัว

วิธีการสาธารณะ

นามธรรม FloatDataBuffer
copyTo ( DataBuffer <Float> dst ขนาดยาว)
ลอยนามธรรม
getFloat (ดัชนีแบบยาว)
อ่านโฟลตตามดัชนีที่กำหนด
ลอยนามธรรม
getObject (ดัชนีแบบยาว)
อ่านค่าตามดัชนีที่กำหนด
นามธรรม FloatDataBuffer
แคบ (ขนาดยาว)
สร้างบัฟเฟอร์ใหม่ซึ่งมีเนื้อหาเป็นลำดับย่อยที่ใช้ร่วมกันของเนื้อหาของบัฟเฟอร์นี้ ซึ่งมีขนาดถูกกำหนดเป็นค่าที่กำหนด
นามธรรม FloatDataBuffer
ชดเชย (ดัชนียาว)
สร้างบัฟเฟอร์ใหม่ซึ่งมีเนื้อหาเป็นลำดับย่อยที่ใช้ร่วมกันของเนื้อหาของบัฟเฟอร์นี้ โดยเริ่มต้นจากดัชนีที่กำหนด
นามธรรม FloatDataBuffer
อ่าน (float[] dst, int offset, int length)
วิธีการ รับ จำนวนมากโดยใช้อาร์เรย์ลอย
นามธรรม FloatDataBuffer
อ่าน (ลอย [] dst)
วิธีการ รับ จำนวนมากโดยใช้อาร์เรย์ลอย
นามธรรม FloatDataBuffer
setFloat (ค่าลอยตัว, ดัชนีแบบยาว)
เขียนโฟลตที่กำหนดลงในบัฟเฟอร์นี้ที่ดัชนีที่กำหนด
นามธรรม FloatDataBuffer
setObject (ค่าลอยตัว, ดัชนีแบบยาว)
นามธรรม FloatDataBuffer
ชิ้น (ดัชนียาว, ขนาดยาว)
สร้างบัฟเฟอร์ใหม่ที่มีเนื้อหาเป็นลำดับย่อยที่ใช้ร่วมกันของเนื้อหาของบัฟเฟอร์นี้ เริ่มต้นที่ดัชนีที่กำหนดและขนาดที่กำหนด
บทคัดย่อ DataBufferWindow < FloatDataBuffer >
หน้าต่าง (ขนาดยาว)
สร้าง DataBufferWindow ที่ให้มุมมองบางส่วนของบัฟเฟอร์นี้
นามธรรม FloatDataBuffer
เขียน (float[] src, int offset, int length)
วิธีการ ใส่ จำนวนมากโดยใช้อาร์เรย์ลอย
นามธรรม FloatDataBuffer
เขียน (float[] src)
วิธีการ ใส่ จำนวนมากโดยใช้อาร์เรย์ลอย

วิธีการสืบทอด

วิธีการสาธารณะ

นามธรรมสาธารณะ FloatDataBuffer copyTo ( DataBuffer <Float> dst ขนาดยาว)

นามธรรมสาธารณะลอย getFloat (ดัชนียาว)

อ่านโฟลตตามดัชนีที่กำหนด

พารามิเตอร์
ดัชนี ดัชนีที่จะอ่านโฟลต
การส่งคืน
  • การลอยตัวที่ดัชนีที่กำหนด
ขว้าง
IndexOutOfBoundsException ถ้าดัชนีเป็นลบหรือไม่เล็กกว่าขนาดบัฟเฟอร์

นามธรรมสาธารณะ Float getObject (ดัชนีแบบยาว)

อ่านค่าตามดัชนีที่กำหนด สิ่งสำคัญ: การใช้วิธีนี้ควรจำกัดไว้เฉพาะบัฟเฟอร์ประเภทที่ไม่ใช่แบบดั้งเดิม หรือเมื่อผู้เรียกไม่ได้กำหนดชนิดข้อมูลไว้ล่วงหน้า ในกรณีอื่น ๆ ให้เลือกใช้ตัวแปรดั้งเดิมซึ่งจะปรับปรุงประสิทธิภาพได้อย่างมาก (เช่น IntDataBuffer.getInt(idx)

พารามิเตอร์
ดัชนี ดัชนีที่จะอ่านโฟลต
การส่งคืน
  • ค่าที่ดัชนีที่กำหนด

นามธรรมสาธารณะ FloatDataBuffer แคบ (ขนาดยาว)

สร้างบัฟเฟอร์ใหม่ซึ่งมีเนื้อหาเป็นลำดับย่อยที่ใช้ร่วมกันของเนื้อหาของบัฟเฟอร์นี้ ซึ่งมีขนาดถูกกำหนดเป็นค่าที่กำหนด

ขนาดใหม่ต้องไม่ใหญ่กว่าขนาดบัฟเฟอร์นี้ การเปลี่ยนแปลงเนื้อหาของบัฟเฟอร์นี้จะปรากฏในบัฟเฟอร์ใหม่และในทางกลับกัน บัฟเฟอร์ใหม่จะเป็นแบบอ่านอย่างเดียวก็ต่อเมื่อบัฟเฟอร์นี้เป็นแบบอ่านอย่างเดียวเท่านั้น

การโทรนี้เทียบเท่ากับ slice(0, size)

พารามิเตอร์
ขนาด ขนาดของบัฟเฟอร์ใหม่นี้
การส่งคืน
  • บัฟเฟอร์ใหม่

นามธรรมสาธารณะ FloatDataBuffer ชดเชย (ดัชนีแบบยาว)

สร้างบัฟเฟอร์ใหม่ซึ่งมีเนื้อหาเป็นลำดับย่อยที่ใช้ร่วมกันของเนื้อหาของบัฟเฟอร์นี้ โดยเริ่มต้นจากดัชนีที่กำหนด

ดัชนีต้องไม่ใหญ่กว่าขนาดบัฟเฟอร์นี้ การเปลี่ยนแปลงเนื้อหาของบัฟเฟอร์นี้จะปรากฏในบัฟเฟอร์ใหม่และในทางกลับกัน บัฟเฟอร์ใหม่จะเป็นแบบอ่านอย่างเดียวก็ต่อเมื่อบัฟเฟอร์นี้เป็นแบบอ่านอย่างเดียวเท่านั้น

การโทรนี้เทียบเท่ากับ slice(index, size() - index)

พารามิเตอร์
ดัชนี ดัชนีของค่าแรกของบัฟเฟอร์ใหม่ที่สร้างขึ้น ต้องไม่ใหญ่กว่า size()
การส่งคืน
  • บัฟเฟอร์ใหม่

บทคัดย่อสาธารณะ FloatDataBuffer อ่าน (float [] dst, int offset, int length)

วิธีการ รับ จำนวนมากโดยใช้อาร์เรย์ลอย

วิธีนี้จะถ่ายโอนค่าจากบัฟเฟอร์นี้ไปยังอาร์เรย์ปลายทางที่กำหนด หากมีค่าในบัฟเฟอร์น้อยกว่าที่จำเป็นในการตอบสนองคำขอ นั่นคือ หาก length > size() จะไม่มีการถ่ายโอนค่าใด ๆ และ BufferUnderflowException จะถูกส่งออกไป

มิฉะนั้น วิธีนี้จะคัดลอกค่า n = length จากบัฟเฟอร์นี้ไปยังอาร์เรย์ที่กำหนดโดยเริ่มต้นที่ออฟเซ็ตที่กำหนด

พารามิเตอร์
วันเวลา อาร์เรย์ที่จะเขียนค่าลงไป
ชดเชย ออฟเซ็ตภายในอาร์เรย์ของค่าแรกที่จะเขียน ต้องไม่เป็นค่าลบและไม่ใหญ่กว่า dst.length
ความยาว จำนวนค่าสูงสุดที่จะเขียนลงในอาร์เรย์ที่กำหนด ต้องไม่เป็นค่าลบและไม่ใหญ่กว่า dst.length - offset
การส่งคืน
  • บัฟเฟอร์นี้
ขว้าง
บัฟเฟอร์ UnderflowException หากมีค่าความยาวน้อยกว่าค่าที่เหลืออยู่ในบัฟเฟอร์นี้
IndexOutOfBoundsException หากเงื่อนไขเบื้องต้นของพารามิเตอร์ออฟเซ็ตและความยาวไม่คงอยู่

นามธรรมสาธารณะ FloatDataBuffer อ่าน (float [] dst)

วิธีการ รับ จำนวนมากโดยใช้อาร์เรย์ลอย

วิธีนี้จะถ่ายโอนค่าจากบัฟเฟอร์นี้ไปยังอาร์เรย์ปลายทางที่กำหนด หากมีค่าในบัฟเฟอร์น้อยกว่าที่จำเป็นในการตอบสนองคำขอ นั่นคือ หาก dst.length > size() จะไม่มีการถ่ายโอนค่าใด ๆ และ BufferUnderflowException จะถูกส่งออก

มิฉะนั้น วิธีการนี้จะคัดลอกค่า n = dst.length จากบัฟเฟอร์นี้ไปยังอาร์เรย์ที่กำหนด

พารามิเตอร์
วันเวลา อาร์เรย์ที่จะเขียนค่าลงไป
การส่งคืน
  • บัฟเฟอร์นี้
ขว้าง
บัฟเฟอร์ UnderflowException หากมีค่าไม่เพียงพอที่จะคัดลอกจากบัฟเฟอร์นี้

นามธรรมสาธารณะ FloatDataBuffer setFloat (ค่าลอยตัว, ดัชนีแบบยาว)

เขียนโฟลตที่กำหนดลงในบัฟเฟอร์นี้ที่ดัชนีที่กำหนด

พารามิเตอร์
ค่า ทุ่นที่จะเขียน
ดัชนี ดัชนีที่จะเขียนค่า
การส่งคืน
  • บัฟเฟอร์นี้
ขว้าง
IndexOutOfBoundsException ถ้าดัชนีเป็นลบหรือไม่เล็กกว่าขนาดบัฟเฟอร์
ReadOnlyBufferException หากบัฟเฟอร์นี้เป็นแบบอ่านอย่างเดียว

นามธรรมสาธารณะ FloatDataBuffer setObject (ค่าลอยตัว, ดัชนีแบบยาว)

ชิ้น FloatDataBuffer นามธรรมสาธารณะ (ดัชนียาว, ขนาดยาว)

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

ดัชนีบวกขนาดใหม่ต้องไม่ใหญ่กว่าขนาดบัฟเฟอร์นี้ การเปลี่ยนแปลงเนื้อหาของบัฟเฟอร์นี้จะปรากฏในบัฟเฟอร์ใหม่และในทางกลับกัน บัฟเฟอร์ใหม่จะเป็นแบบอ่านอย่างเดียวก็ต่อเมื่อบัฟเฟอร์นี้เป็นแบบอ่านอย่างเดียวเท่านั้น

พารามิเตอร์
ดัชนี ดัชนีของค่าแรกของบัฟเฟอร์ใหม่ที่สร้างขึ้น
ขนาด ขนาดของบัฟเฟอร์ใหม่นี้ต้องไม่ใหญ่กว่า size()
การส่งคืน
  • บัฟเฟอร์ใหม่

DataBufferWindow นามธรรมสาธารณะ < FloatDataBuffer > หน้าต่าง (ขนาดยาว)

สร้าง DataBufferWindow ที่ให้มุมมองบางส่วนของบัฟเฟอร์นี้

หน้าต่างที่สร้างขึ้นมีขนาดคงที่และสามารถ "slide" ไปตามบัฟเฟอร์นี้เพื่อให้มีมุมมองที่แตกต่างกันของข้อมูลโดยไม่ต้องจัดสรรอินสแตนซ์บัฟเฟอร์ใหม่ เช่นเดียวกับ offset(long) ซึ่งจะช่วยปรับปรุงประสิทธิภาพโดยรวมเมื่อมีการทำซ้ำบ่อยครั้ง ตัวอย่างเช่น:

IntDataBuffer bufferA = DataBuffers.ofInts(1024);
 // ... init buffer data
 IntDataBuffer bufferB = DataBuffers.ofInts(1, 2, 3, 4);

 // Return the index of the first occurrence of bufferB in bufferA using a sliding window
 DataBufferWindow<IntDataBuffer> windowA = bufferA.window(4);
 for (int i = 0; i < bufferA.size() - bufferB.size(); ++i) {
     if (windowA.slideTo(i).buffer().equals(bufferB)) {
         return i;
     
 }
 }

วัตถุที่ส่งคืนนั้นมีสถานะและไม่ปลอดภัยต่อเธรด

พารามิเตอร์
ขนาด ขนาดของหน้าต่าง
การส่งคืน
  • หน้าต่างใหม่ที่เริ่มต้นที่ดัชนี 0 ของบัฟเฟอร์นี้

นามธรรมสาธารณะ FloatDataBuffer เขียน (float [] src, int offset, int length)

วิธีการ ใส่ จำนวนมากโดยใช้อาร์เรย์ลอย

วิธีนี้จะถ่ายโอนค่าในอาร์เรย์ต้นทางที่กำหนดไปยังบัฟเฟอร์นี้ หากมีค่าในอาร์เรย์ต้นทางมากกว่าในบัฟเฟอร์นี้ กล่าวคือ หาก length > size() จะไม่มีการถ่ายโอนค่าใด ๆ และ BufferOverflowException จะถูกส่งออกไป

มิฉะนั้น เมธอดนี้จะคัดลอกค่า n = length จากอาร์เรย์ที่กำหนดไปยังบัฟเฟอร์นี้ โดยเริ่มต้นที่ออฟเซ็ตที่กำหนด

พารามิเตอร์
src อาร์เรย์ต้นทางที่จะอ่านค่า
ชดเชย ออฟเซ็ตภายในอาร์เรย์ของค่าแรกที่จะอ่าน ต้องไม่เป็นค่าลบและไม่ใหญ่กว่า src.length
ความยาว จำนวนค่าที่จะอ่านจากอาร์เรย์ที่กำหนด ต้องไม่เป็นค่าลบและไม่ใหญ่กว่า src.length - offset
การส่งคืน
  • บัฟเฟอร์นี้
ขว้าง
BufferOverflowException หากมีพื้นที่ไม่เพียงพอในบัฟเฟอร์นี้สำหรับค่าในอาร์เรย์ต้นทาง
IndexOutOfBoundsException หากเงื่อนไขเบื้องต้นของพารามิเตอร์ออฟเซ็ตและความยาวไม่คงอยู่
ReadOnlyBufferException หากบัฟเฟอร์นี้เป็นแบบอ่านอย่างเดียว

นามธรรมสาธารณะ FloatDataBuffer เขียน (float [] src)

วิธีการ ใส่ จำนวนมากโดยใช้อาร์เรย์ลอย

วิธีนี้จะถ่ายโอนค่าในอาร์เรย์ต้นทางที่กำหนดไปยังบัฟเฟอร์นี้ หากมีค่าในอาร์เรย์ต้นทางมากกว่าในบัฟเฟอร์นี้ กล่าวคือ หาก src.length > size() จะไม่มีการถ่ายโอนค่าใด ๆ และ BufferOverflowException จะถูกส่งออกไป

มิฉะนั้น เมธอดนี้จะคัดลอกค่า n = src.length จากอาร์เรย์ที่กำหนด

พารามิเตอร์
src อาร์เรย์ต้นทางที่จะอ่านค่า
การส่งคืน
  • บัฟเฟอร์นี้
ขว้าง
BufferOverflowException หากมีพื้นที่ไม่เพียงพอในบัฟเฟอร์นี้สำหรับค่าในอาร์เรย์ต้นทาง
ReadOnlyBufferException หากบัฟเฟอร์นี้เป็นแบบอ่านอย่างเดียว