IntDataBuffer

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

DataBuffer ของ ints

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

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

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

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

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

บทคัดย่อสาธารณะ int getInt (ดัชนีแบบยาว)

อ่าน int ที่ดัชนีที่กำหนด

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

นามธรรมสาธารณะจำนวนเต็ม getObject (ดัชนีแบบยาว)

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

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

บทคัดย่อสาธารณะ IntDataBuffer แคบ (ขนาดยาว)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

บทคัดย่อสาธารณะ IntDataBuffer setInt (ค่า int, ดัชนีแบบยาว)

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

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

บทคัดย่อสาธารณะ IntDataBuffer setObject (ค่าจำนวนเต็ม, ดัชนีแบบยาว)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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