Long의 DataBuffer
.
공개 방법
추상 LongDataBuffer | copyTo ( DataBuffer <Long> dst, 긴 크기) |
추상적인 긴 | getLong (긴 인덱스) 주어진 인덱스에서 long을 읽습니다. |
추상적인 긴 | getObject (긴 인덱스) 지정된 인덱스의 값을 읽습니다. |
추상 LongDataBuffer | 좁은 (긴 사이즈) 내용이 이 버퍼 내용의 공유 하위 시퀀스이고 크기가 지정된 값으로 설정된 새 버퍼를 만듭니다. |
추상 LongDataBuffer | 오프셋 (긴 인덱스) 지정된 인덱스에서 시작하여 이 버퍼 내용의 공유 하위 시퀀스를 내용으로 하는 새 버퍼를 만듭니다. |
추상 LongDataBuffer | 읽기 (long[] dst) 긴 배열을 사용하는 대량 가져오기 방법입니다. |
추상 LongDataBuffer | 읽기 (long[] dst, int 오프셋, int 길이) 긴 배열을 사용하는 대량 가져오기 방법입니다. |
추상 LongDataBuffer | setLong (긴 값, 긴 인덱스) 주어진 인덱스에 있는 이 버퍼에 주어진 long을 씁니다. |
추상 LongDataBuffer | setObject (긴 값, 긴 인덱스) |
추상 LongDataBuffer | 슬라이스 (긴 인덱스, 긴 크기) 지정된 인덱스에서 시작하여 지정된 크기로 이 버퍼 내용의 공유 하위 시퀀스를 내용으로 하는 새 버퍼를 만듭니다. |
추상 DataBufferWindow < LongDataBuffer > | 창 (긴 크기) 이 버퍼의 부분 보기를 제공하는 DataBufferWindow 만듭니다. |
추상 LongDataBuffer | 쓰기 (long[] src, int 오프셋, int 길이) 긴 배열을 사용하는 대량 넣기 방법. |
추상 LongDataBuffer | 쓰기 (long[] src) 긴 배열을 사용하는 대량 넣기 방법. |
상속된 메서드
공개 방법
공개 추상 long getLong (긴 인덱스)
주어진 인덱스에서 long을 읽습니다.
매개변수
색인 | float를 읽을 인덱스 |
---|
보고
- 주어진 인덱스의 long
던지기
IndexOutOfBoundsException | 인덱스가 음수이거나 버퍼 크기보다 작지 않은 경우 |
---|
공개 추상 Long getObject (긴 인덱스)
지정된 인덱스의 값을 읽습니다. 중요: 이 메서드의 사용은 기본이 아닌 유형의 버퍼 또는 호출자가 데이터 유형을 결정적으로 알 수 없는 경우로 제한되어야 합니다. 다른 경우에는 성능을 크게 향상시키는 기본 변형(예: IntDataBuffer.getInt(idx)
을 사용하는 것이 좋습니다.
매개변수
색인 | float를 읽을 인덱스 |
---|
보고
- 주어진 인덱스의 값
공용 추상 LongDataBuffer 좁은 (긴 크기)
내용이 이 버퍼 내용의 공유 하위 시퀀스이고 크기가 지정된 값으로 설정된 새 버퍼를 만듭니다.
새 크기는 이 버퍼 크기보다 클 수 없습니다. 이 버퍼의 내용에 대한 변경 사항은 새 버퍼에 표시되며 그 반대의 경우도 마찬가지입니다. 새 버퍼는 이 버퍼가 읽기 전용인 경우에만 읽기 전용이 됩니다.
이 호출은 slice(0, size)
와 동일합니다.
매개변수
크기 | 이 새 버퍼의 크기 |
---|
보고
- 새로운 버퍼
공용 추상 LongDataBuffer 오프셋 (긴 인덱스)
지정된 인덱스에서 시작하여 이 버퍼 내용의 공유 하위 시퀀스를 내용으로 하는 새 버퍼를 만듭니다.
인덱스는 이 버퍼 크기보다 클 수 없습니다. 이 버퍼의 내용에 대한 변경 사항은 새 버퍼에 표시되며 그 반대의 경우도 마찬가지입니다. 새 버퍼는 이 버퍼가 읽기 전용인 경우에만 읽기 전용이 됩니다.
이 호출은 slice(index, size() - index)
와 동일합니다.
매개변수
색인 | 생성된 새 버퍼의 첫 번째 값 인덱스는 size() 보다 클 수 없습니다. |
---|
보고
- 새로운 버퍼
공개 추상 LongDataBuffer 읽기 (long[] dst)
긴 배열을 사용하는 대량 가져오기 방법입니다.
이 메소드는 이 버퍼의 값을 지정된 대상 배열로 전송합니다. 요청을 충족하는 데 필요한 것보다 버퍼에 더 적은 값이 있는 경우, 즉 dst.length > size()
인 경우 값이 전송되지 않고 BufferUnderflowException이 발생합니다.
그렇지 않으면 이 메소드는 이 버퍼의 n = dst.length
값을 지정된 배열에 복사합니다.
매개변수
일광 | 값을 쓸 배열 |
---|
보고
- 이 버퍼
던지기
BufferUnderflowException | 이 버퍼에서 복사할 값이 충분하지 않은 경우 |
---|
공개 추상 LongDataBuffer 읽기 (long[] dst, int 오프셋, int 길이)
긴 배열을 사용하는 대량 가져오기 방법입니다.
이 메소드는 이 버퍼의 값을 지정된 대상 배열로 전송합니다. 요청을 충족하는 데 필요한 것보다 버퍼에 더 적은 값이 있는 경우, 즉 length > size()
인 경우 값이 전송되지 않고 BufferUnderflowException이 발생합니다.
그렇지 않은 경우, 이 메소드는 이 버퍼의 n = length
값을 지정된 오프셋에서 시작하여 지정된 배열로 복사합니다.
매개변수
일광 | 값을 쓸 배열 |
---|---|
오프셋 | 기록할 첫 번째 값의 배열 내 오프셋입니다. 음수가 아니어야 하고 dst.length 보다 크지 않아야 합니다. |
길이 | 주어진 배열에 기록될 최대 값 수입니다. 음수가 아니어야 하고 dst.length - offset |
보고
- 이 버퍼
던지기
BufferUnderflowException | 이 버퍼에 길이 값보다 적은 값이 남아 있는 경우 |
---|---|
IndexOutOfBoundsException | 오프셋 및 길이 매개변수의 전제조건이 유지되지 않는 경우 |
공용 추상 LongDataBuffer setLong (긴 값, 긴 인덱스)
주어진 인덱스에 있는 이 버퍼에 주어진 long을 씁니다.
매개변수
값 | 써야 할 길이 |
---|---|
색인 | 값이 기록될 인덱스 |
보고
- 이 버퍼
던지기
IndexOutOfBoundsException | 인덱스가 음수이거나 버퍼 크기보다 작지 않은 경우 |
---|---|
ReadOnlyBufferException | 이 버퍼가 읽기 전용인 경우 |
공용 추상 LongDataBuffer 슬라이스 (긴 인덱스, 긴 크기)
지정된 인덱스에서 시작하여 지정된 크기로 이 버퍼 내용의 공유 하위 시퀀스를 내용으로 하는 새 버퍼를 만듭니다.
인덱스에 새 크기를 더한 값은 이 버퍼 크기보다 클 수 없습니다. 이 버퍼의 내용에 대한 변경 사항은 새 버퍼에 표시되며 그 반대의 경우도 마찬가지입니다. 새 버퍼는 이 버퍼가 읽기 전용인 경우에만 읽기 전용이 됩니다.
매개변수
색인 | 생성된 새 버퍼의 첫 번째 값 인덱스 |
---|---|
크기 | 이 새 버퍼의 크기는 size() 보다 클 수 없습니다. |
보고
- 새로운 버퍼
공용 추상 DataBufferWindow < LongDataBuffer > 창 (긴 크기)
이 버퍼의 부분 보기를 제공하는 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에서 시작하는 새 창
공개 추상 LongDataBuffer 쓰기 (long[] src, int 오프셋, int 길이)
긴 배열을 사용하는 대량 넣기 방법.
이 메소드는 지정된 소스 배열의 값을 이 버퍼로 전송합니다. 이 버퍼보다 소스 배열에 더 많은 값이 있는 경우, 즉 length > size()
인 경우 값이 전송되지 않고 BufferOverflowException이 발생합니다.
그렇지 않은 경우, 이 메소드는 지정된 배열의 n = length
값을 지정된 오프셋에서 시작하여 이 버퍼에 복사합니다.
매개변수
소스 | 값을 읽어올 소스 배열 |
---|---|
오프셋 | 읽을 첫 번째 값의 배열 내 오프셋입니다. 음수가 아니어야 하고 src.length 보다 크지 않아야 합니다. |
길이 | 주어진 배열에서 읽어올 값의 수; 음수가 아니어야 하고 src.length - offset |
보고
- 이 버퍼
던지기
버퍼오버플로우예외 | 소스 배열의 값을 저장할 공간이 이 버퍼에 부족한 경우 |
---|---|
IndexOutOfBoundsException | 오프셋 및 길이 매개변수의 전제조건이 유지되지 않는 경우 |
ReadOnlyBufferException | 이 버퍼가 읽기 전용인 경우 |
공개 추상 LongDataBuffer 쓰기 (long[] src)
긴 배열을 사용하는 대량 넣기 방법.
이 메소드는 지정된 소스 배열의 값을 이 버퍼로 전송합니다. 이 버퍼보다 소스 배열에 더 많은 값이 있는 경우, 즉 src.length > size()
인 경우 값이 전송되지 않고 BufferOverflowException이 발생합니다.
그렇지 않은 경우 이 메서드는 지정된 배열에서 n = src.length
값을 복사합니다.
매개변수
소스 | 값을 읽어올 소스 배열 |
---|
보고
- 이 버퍼
던지기
버퍼오버플로우예외 | 소스 배열의 값을 저장할 공간이 이 버퍼에 부족한 경우 |
---|---|
ReadOnlyBufferException | 이 버퍼가 읽기 전용인 경우 |