DoubleDataBuffer

อินเทอร์เฟซสาธารณะ DoubleDataBuffer

DataBuffer สองเท่า

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

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

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

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

บทคัดย่อสาธารณะ DoubleDataBuffer copyTo ( DataBuffer <Double> dst ขนาดยาว)

นามธรรมสาธารณะ double getDouble (ดัชนียาว)

อ่านสองเท่าที่ดัชนีที่กำหนด

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

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

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

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

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

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

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

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

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

ออฟเซ็ต DoubleDataBuffer นามธรรมสาธารณะ (ดัชนีแบบยาว)

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

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

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

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

บทคัดย่อสาธารณะ DoubleDataBuffer อ่าน (double[] dst)

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

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

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

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

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

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

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

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

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

บทคัดย่อสาธารณะ DoubleDataBuffer setDouble (ค่าสองเท่า, ดัชนีแบบยาว)

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

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

บทคัดย่อสาธารณะ DoubleDataBuffer setObject (ค่าสองเท่า, ดัชนีแบบยาว)

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

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

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

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

บทคัดย่อสาธารณะ DataBufferWindow < DoubleDataBuffer > หน้าต่าง (ขนาดยาว)

สร้าง 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 ของบัฟเฟอร์นี้

บทคัดย่อสาธารณะ DoubleDataBuffer เขียน (double [] src)

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

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

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

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

บทคัดย่อสาธารณะ DoubleDataBuffer เขียน (double [] src, int offset, int length)

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

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

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

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