Một DataBuffer
có độ dài.
Phương pháp công khai
trừu tượng LongDataBuffer | copyTo ( DataBuffer <Long> dst, kích thước dài) |
trừu tượng dài | getLong (chỉ số dài) Đọc dài tại chỉ mục đã cho. |
trừu tượng dài | getObject (chỉ số dài) Đọc giá trị tại chỉ mục đã cho. |
trừu tượng LongDataBuffer | 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 LongDataBuffer | 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 LongDataBuffer | đọc (dài[] dst) Phương thức lấy số lượng lớn, sử dụng mảng dài. |
trừu tượng LongDataBuffer | đọc (dài[] dst, int offset, int length) Phương thức lấy số lượng lớn, sử dụng mảng dài. |
trừu tượng LongDataBuffer | setLong (giá trị dài, chỉ số dài) Ghi độ dài đã cho vào bộ đệm này ở chỉ mục đã cho. |
trừu tượng LongDataBuffer | setObject (Giá trị dài, chỉ mục dài) |
trừu tượng LongDataBuffer | 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 < LongDataBuffer > | 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 LongDataBuffer | viết (dài[] src, int offset, int length) Phương pháp đặt số lượng lớn, sử dụng mảng dài. |
trừu tượng LongDataBuffer | viết (dài[] src) Phương pháp đặt số lượng lớn, sử dụng mảng dài. |
Phương pháp kế thừa
Phương pháp công khai
tóm tắt công khai dài getLong (chỉ số dài)
Đọc dài tại chỉ mục đã cho.
Thông số
chỉ mục | chỉ mục mà từ đó float sẽ được đọc |
---|
Trả lại
- dài ở chỉ số đã 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 Long 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ố
chỉ mụ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 LongDataBuffer 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
trừu tượng công khai bù trừ LongDataBuffer (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ố
chỉ mụ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 đọc LongDataBuffer (dài[] dst)
Phương thức lấy số lượng lớn, sử dụng mảng dài.
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 |
---|
bản tóm tắt công khai đọc LongDataBuffer (dst dài [] dst, int offset, int length)
Phương thức lấy số lượng lớn, sử dụng mảng dài.
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 LongDataBuffer setLong (giá trị dài, chỉ mục dài)
Ghi độ dài đã cho vào bộ đệm này ở chỉ mục đã cho.
Thông số
giá trị | còn dài để viết |
---|---|
chỉ mục | chỉ mục 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 |
lát cắt LongDataBuffer 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ố
chỉ mụ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ổ trừu tượng công khai DataBufferWindow < LongDataBuffer > (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 ghi LongDataBuffer (dài[] src, int offset, int length)
Phương pháp đặt số lượng lớn, sử dụng mảng dài.
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 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ần đọ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 |
tóm tắt công khai LongDataBuffer ghi (dài[] src)
Phương pháp đặt số lượng lớn, sử dụng mảng dài.
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 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 |