IntDataBuffer

giao diện công cộng IntDataBuffer

Một DataBuffer của int.

Phương pháp công khai

trừu tượng IntDataBuffer
copyTo ( DataBuffer <Integer> dst, kích thước dài)
int trừu tượng
getInt (chỉ số dài)
Đọc int tại chỉ mục đã cho.
số nguyên trừu tượng
getObject (chỉ số dài)
Đọc giá trị tại chỉ mục đã cho.
trừu tượng IntDataBuffer
hẹp (kích thước dài)
Tạo một bộ đệm mới có nội dung là một chuỗi con được chia sẻ của nội dung của bộ đệm này, có kích thước được đặt thành giá trị đã cho.
trừu tượng IntDataBuffer
bù đắp (chỉ số dài)
Tạo một bộ đệm mới có nội dung là một chuỗi con được chia sẻ của nội dung của bộ đệm này, bắt đầu từ chỉ mục đã cho.
trừu tượng IntDataBuffer
đọc (int[] dst)
Phương thức lấy số lượng lớn, sử dụng mảng int.
trừu tượng IntDataBuffer
đọc (int[] dst, int offset, int length)
Phương thức lấy số lượng lớn, sử dụng mảng int.
trừu tượng IntDataBuffer
setInt (giá trị int, chỉ mục dài)
Ghi int đã cho vào bộ đệm này theo chỉ mục đã cho.
trừu tượng IntDataBuffer
setObject (Giá trị nguyên, chỉ mục dài)
trừu tượng IntDataBuffer
lát (chỉ số dài, kích thước dài)
Tạo một bộ đệm mới có nội dung là một chuỗi con được chia sẻ của nội dung của bộ đệm này, bắt đầu từ chỉ mục đã cho và có kích thước nhất định.
trừu tượng DataBufferWindow < IntDataBuffer >
cửa sổ (kích thước dài)
Tạo DataBufferWindow cung cấp chế độ xem một phần bộ đệm này.
trừu tượng IntDataBuffer
viết (int[] src)
Phương pháp đặt số lượng lớn, sử dụng mảng int.
trừu tượng IntDataBuffer
viết (int[] src, int offset, int length)
Phương pháp đặt số lượng lớn, sử dụng mảng int.

Phương pháp kế thừa

Phương pháp công khai

bản tóm tắt công khai IntDataBuffer copyTo ( DataBuffer <Integer> dst, kích thước dài)

tóm tắt công khai int getInt (chỉ mục dài)

Đọc int tại chỉ mục đã cho.

Thông số
mục lục chỉ mục mà từ đó float sẽ được đọc
Trả lại
  • int tại chỉ mục đã cho
Ném
IndexOutOfBoundsNgoại lệ nếu chỉ số âm hoặc không nhỏ hơn kích thước bộ đệm

Tóm tắt công khai Số nguyên getObject (chỉ mục dài)

Đọc giá trị tại chỉ mục đã cho. Quan trọng: Việc sử dụng phương pháp này nên được giới hạn ở các bộ đệm thuộc loại không nguyên thủy hoặc khi kiểu dữ liệu không được người gọi xác định rõ ràng. Trong mọi trường hợp khác, hãy ưu tiên sử dụng biến thể nguyên thủy của nó để cải thiện đáng kể hiệu suất (ví dụ: IntDataBuffer.getInt(idx)

Thông số
mục lục chỉ mục mà từ đó float sẽ được đọc
Trả lại
  • giá trị tại chỉ số đã cho

tóm tắt công khai IntDataBuffer thu hẹp (kích thước dài)

Tạo một bộ đệm mới có nội dung là một chuỗi con được chia sẻ của nội dung của bộ đệm này, có kích thước được đặt thành giá trị đã cho.

Kích thước mới không được lớn hơn kích thước bộ đệm này. Những thay đổi đối với nội dung của bộ đệm này sẽ hiển thị trong bộ đệm mới và ngược lại. Bộ đệm mới sẽ ở chế độ chỉ đọc khi và chỉ khi bộ đệm này ở chế độ chỉ đọc.

Cuộc gọi này tương đương với slice(0, size)

Thông số
kích cỡ kích thước của bộ đệm mới này
Trả lại
  • bộ đệm mới

phần IntDataBuffer trừu tượng công khai (chỉ mục dài)

Tạo một bộ đệm mới có nội dung là một chuỗi con được chia sẻ của nội dung của bộ đệm này, bắt đầu từ chỉ mục đã cho.

Chỉ mục không được lớn hơn kích thước bộ đệm này. Những thay đổi đối với nội dung của bộ đệm này sẽ hiển thị trong bộ đệm mới và ngược lại. Bộ đệm mới sẽ ở chế độ chỉ đọc khi và chỉ khi bộ đệm này ở chế độ chỉ đọc.

Cuộc gọi này tương đương với slice(index, size() - index)

Thông số
mục lục chỉ mục của giá trị đầu tiên của bộ đệm mới được tạo, không được lớn hơn size()
Trả lại
  • bộ đệm mới

bản tóm tắt công khai IntDataBuffer đã đọc (int[] dst)

Phương thức lấy số lượng lớn, sử dụng mảng int.

Phương thức này chuyển các giá trị từ bộ đệm này vào mảng đích đã cho. Nếu có ít giá trị trong bộ đệm hơn mức cần thiết để đáp ứng yêu cầu, tức là nếu dst.length > size() thì không có giá trị nào được chuyển và BufferUnderflowException sẽ được ném ra.

Mặt khác, phương thức này sao chép các giá trị n = dst.length từ bộ đệm này vào mảng đã cho.

Thông số
dst mảng mà các giá trị sẽ được ghi vào
Trả lại
  • bộ đệm này
Ném
Bộ đệmUnderflowNgoại lệ nếu không có đủ giá trị để sao chép từ bộ đệm này

Tóm tắt công khai IntDataBuffer đọc (int[] dst, int offset, int length)

Phương thức lấy số lượng lớn, sử dụng mảng int.

Phương thức này chuyển các giá trị từ bộ đệm này vào mảng đích đã cho. Nếu có ít giá trị trong bộ đệm hơn mức cần thiết để đáp ứng yêu cầu, tức là nếu length > size() thì không có giá trị nào được chuyển và BufferUnderflowException sẽ được ném ra.

Mặt khác, phương thức này sao chép các giá trị n = length từ bộ đệm này vào mảng đã cho bắt đầu từ offset đã cho.

Thông số
dst mảng mà các giá trị sẽ được ghi vào
bù lại phần bù trong mảng của giá trị đầu tiên được ghi; phải không âm và không lớn hơn dst.length
chiều dài số lượng giá trị tối đa được ghi vào mảng đã cho; phải không âm và không lớn hơn dst.length - offset
Trả lại
  • bộ đệm này
Ném
Bộ đệmUnderflowNgoại lệ nếu có ít hơn giá trị độ dài còn lại trong bộ đệm này
IndexOutOfBoundsNgoại lệ nếu các điều kiện tiên quyết trên tham số offset và độ dài không giữ được

tóm tắt công khai IntDataBuffer setInt (giá trị int, chỉ mục dài)

Ghi int đã cho vào bộ đệm này theo chỉ mục đã cho.

Thông số
giá trị int được viết
mục lục chỉ số tại đó giá trị sẽ được viết
Trả lại
  • bộ đệm này
Ném
IndexOutOfBoundsNgoại lệ nếu chỉ số âm hoặc không nhỏ hơn kích thước bộ đệm
ReadOnlyBufferNgoại lệ nếu bộ đệm này ở chế độ chỉ đọc

tóm tắt công khai IntDataBuffer setObject (Giá trị nguyên, chỉ mục dài)

Lát IntDataBuffer trừu tượng công khai (chỉ mục dài, kích thước dài)

Tạo một bộ đệm mới có nội dung là một chuỗi con được chia sẻ của nội dung của bộ đệm này, bắt đầu từ chỉ mục đã cho và có kích thước nhất định.

Chỉ số cộng với kích thước mới không được lớn hơn kích thước bộ đệm này. Những thay đổi đối với nội dung của bộ đệm này sẽ hiển thị trong bộ đệm mới và ngược lại. Bộ đệm mới sẽ ở chế độ chỉ đọc khi và chỉ khi bộ đệm này ở chế độ chỉ đọc.

Thông số
mục lục chỉ mục của giá trị đầu tiên của bộ đệm mới được tạo
kích cỡ kích thước của bộ đệm mới này không được lớn hơn size()
Trả lại
  • bộ đệm mới

cửa sổ DataBufferWindow < IntDataBuffer > trừu tượng công khai (kích thước dài)

Tạo DataBufferWindow cung cấp chế độ xem một phần bộ đệm này.

Cửa sổ được tạo có kích thước cố định và có thể "slide" dọc theo bộ đệm này để cung cấp các chế độ xem dữ liệu khác nhau mà không cần phân bổ phiên bản bộ đệm mới, giống như offset(long) . Điều này cải thiện hiệu suất tổng thể khi thao tác này được lặp lại thường xuyên. Ví dụ:

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;
     
 }
 }

Đối tượng được trả về có trạng thái và không an toàn theo luồng.

Thông số
kích cỡ kích thước của cửa sổ
Trả lại
  • một cửa sổ mới bắt đầu ở chỉ số 0 của bộ đệm này

Tóm tắt công khai IntDataBuffer ghi (int[] src)

Phương pháp đặt số lượng lớn, sử dụng mảng int.

Phương thức này chuyển các giá trị trong mảng nguồn đã cho vào bộ đệm này. Nếu có nhiều giá trị trong mảng nguồn hơn trong bộ đệm này, nghĩa là nếu src.length > size() thì không có giá trị nào được chuyển và BufferOverflowException sẽ được ném ra.

Mặt khác, phương thức này sao chép các giá trị n = src.length từ mảng đã cho.

Thông số
src mảng nguồn mà từ đó các giá trị sẽ được đọc
Trả lại
  • bộ đệm này
Ném
BufferOverflowNgoại lệ nếu không có đủ không gian trong bộ đệm này cho các giá trị trong mảng nguồn
ReadOnlyBufferNgoại lệ nếu bộ đệm này ở chế độ chỉ đọc

tóm tắt công khai IntDataBuffer ghi (int[] src, int offset, int length)

Phương pháp đặt số lượng lớn, sử dụng mảng int.

Phương thức này chuyển các giá trị trong mảng nguồn đã cho vào bộ đệm này. Nếu có nhiều giá trị trong mảng nguồn hơn trong bộ đệm này, tức là nếu length > size() thì không có giá trị nào được chuyển và BufferOverflowException sẽ được ném ra.

Mặt khác, phương thức này sao chép các giá trị n = length từ mảng đã cho vào bộ đệm này, bắt đầu từ offset đã cho.

Thông số
src mảng nguồn mà từ đó các giá trị sẽ được đọc
bù lại phần bù trong mảng của giá trị đầu tiên được đọc; phải không âm và không lớn hơn src.length
chiều dài số lượng giá trị được đọc từ mảng đã cho; phải không âm và không lớn hơn src.length - offset
Trả lại
  • bộ đệm này
Ném
BufferOverflowNgoại lệ nếu không có đủ không gian trong bộ đệm này cho các giá trị trong mảng nguồn
IndexOutOfBoundsNgoại lệ nếu các điều kiện tiên quyết trên tham số offset và độ dài không giữ được
ReadOnlyBufferNgoại lệ nếu bộ đệm này ở chế độ chỉ đọc