Long'lardan oluşan bir DataBuffer
.
Genel Yöntemler
özet LongDataBuffer | copyTo ( DataBuffer <Uzun> dst, uzun boyut) |
soyut uzun | getLong (uzun dizin) Verilen dizindeki uzunları okur. |
özet Uzun | getObject (uzun dizin) Verilen indeksteki değeri okur. |
özet LongDataBuffer | dar (uzun boy) İçeriği bu arabellek içeriğinin paylaşılan bir alt dizisi olan ve boyutu verilen değere ayarlanmış yeni bir arabellek oluşturur. |
özet LongDataBuffer | ofset (uzun indeks) Verilen dizinden başlayarak, içeriği bu arabellek içeriğinin paylaşılan bir alt dizisi olan yeni bir arabellek oluşturur. |
özet LongDataBuffer | oku (uzun[] dst) Uzun diziler kullanan toplu alma yöntemi. |
özet LongDataBuffer | okuma (uzun[] dst, int ofset, int uzunluk) Uzun diziler kullanan toplu alma yöntemi. |
özet LongDataBuffer | setLong (uzun değer, uzun dizin) Verilen long'u verilen dizindeki bu ara belleğe yazar. |
özet LongDataBuffer | setObject (Uzun değer, uzun dizin) |
özet LongDataBuffer | dilim (uzun dizin, uzun boyut) Verilen dizinden ve verilen boyuttan başlayarak, içeriği bu arabellek içeriğinin paylaşılan bir alt dizisi olan yeni bir arabellek oluşturur. |
özet DataBufferWindow < LongDataBuffer > | pencere (uzun boy) Bu arabelleğin kısmi görünümünü sağlayan bir DataBufferWindow oluşturur. |
özet LongDataBuffer | yazma (uzun[] kaynak, int ofset, int uzunluk) Uzun diziler kullanan toplu koyma yöntemi. |
özet LongDataBuffer | yaz (uzun[] kaynak) Uzun diziler kullanan toplu koyma yöntemi. |
Kalıtsal Yöntemler
Genel Yöntemler
genel özet long getLong (uzun dizin)
Verilen dizindeki uzunları okur.
Parametreler
dizin | kayan noktanın okunacağı dizin |
---|
İade
- verilen indeksteki uzun
Atar
IndexOutOfBoundsException | indeks negatifse veya arabellek boyutundan küçük değilse |
---|
genel özet Uzun getObject (uzun dizin)
Verilen indeksteki değeri okur. Önemli: Bu yöntemin kullanımı, ilkel olmayan türlerdeki arabelleklerle veya veri türünün arayan tarafından belirleyici olarak bilinmediği durumlarda sınırlı olmalıdır. Diğer durumlarda, performansı önemli ölçüde artıracak ilkel varyantının kullanımını tercih edin (örn. IntDataBuffer.getInt(idx)
Parametreler
dizin | kayan noktanın okunacağı dizin |
---|
İade
- verilen endeksteki değer
genel özet LongDataBuffer dar (uzun boyutlu)
İçeriği bu arabellek içeriğinin paylaşılan bir alt dizisi olan ve boyutu verilen değere ayarlanmış yeni bir arabellek oluşturur.
Yeni boyut bu arabellek boyutundan büyük olmamalıdır. Bu arabelleğin içeriğinde yapılan değişiklikler yeni arabellekte görünür olacaktır ve bunun tersi de geçerlidir. Yeni arabellek, yalnızca ve yalnızca bu arabellek salt okunursa salt okunur olacaktır.
Bu çağrı slice(0, size)
eşdeğerdir
Parametreler
boyut | bu yeni arabelleğin boyutu |
---|
İade
- yeni tampon
genel özet LongDataBuffer ofseti (uzun dizin)
Verilen dizinden başlayarak, içeriği bu arabellek içeriğinin paylaşılan bir alt dizisi olan yeni bir arabellek oluşturur.
Dizin bu arabellek boyutundan büyük olmamalıdır. Bu arabelleğin içeriğinde yapılan değişiklikler yeni arabellekte görünür olacaktır ve bunun tersi de geçerlidir. Yeni arabellek, yalnızca ve yalnızca bu arabellek salt okunursa salt okunur olacaktır.
Bu çağrı slice(index, size() - index)
ile eşdeğerdir.
Parametreler
dizin | oluşturulan yeni arabelleğin ilk değerinin dizini, size() değerinden büyük olmamalıdır |
---|
İade
- yeni tampon
genel özet LongDataBuffer okuması (long[] dst)
Uzun diziler kullanan toplu alma yöntemi.
Bu yöntem, değerleri bu arabellekten verilen hedef diziye aktarır. Arabellekte isteği karşılamak için gerekenden daha az değer varsa, yani dst.length > size()
ise hiçbir değer aktarılmaz ve bir BufferUnderflowException oluşturulur.
Aksi takdirde, bu yöntem n = dst.length
değerlerini bu arabellekten verilen diziye kopyalar.
Parametreler
dst | değerlerin yazılacağı dizi |
---|
İade
- bu tampon
Atar
TamponUnderflowException | bu arabellekten kopyalanacak yeterli değer yoksa |
---|
genel özet LongDataBuffer okuması (long[] dst, int offset, int uzunluk)
Uzun diziler kullanan toplu alma yöntemi.
Bu yöntem, değerleri bu arabellekten verilen hedef diziye aktarır. Arabellekte isteği karşılamak için gerekenden daha az değer varsa, yani length > size()
ise hiçbir değer aktarılmaz ve bir BufferUnderflowException oluşturulur.
Aksi takdirde, bu yöntem, n = length
değerlerini bu arabellekten verilen uzaklıktan başlayarak verilen diziye kopyalar.
Parametreler
dst | değerlerin yazılacağı dizi |
---|---|
telafi etmek | yazılacak ilk değerin dizisi içindeki uzaklık; negatif olmamalı ve dst.length büyük olmamalıdır |
uzunluk | verilen diziye yazılacak maksimum değer sayısı; negatif olmamalı ve dst.length - offset değerinden büyük olmamalıdır |
İade
- bu tampon
Atar
TamponUnderflowException | bu arabellekte uzunluk değerinden daha az değer kaldıysa |
---|---|
IndexOutOfBoundsException | ofset ve uzunluk parametrelerindeki ön koşullar karşılanmıyorsa |
genel özet LongDataBuffer setLong (uzun değer, uzun dizin)
Verilen long'u verilen dizindeki bu ara belleğe yazar.
Parametreler
değer | yazılacak kadar uzun |
---|---|
dizin | değerin yazılacağı dizin |
İade
- bu tampon
Atar
IndexOutOfBoundsException | indeks negatifse veya arabellek boyutundan küçük değilse |
---|---|
ReadOnlyBufferException | bu arabellek salt okunursa |
genel özet LongDataBuffer dilimi (uzun dizin, uzun boyut)
Verilen dizinden ve verilen boyuttan başlayarak, içeriği bu arabellek içeriğinin paylaşılan bir alt dizisi olan yeni bir arabellek oluşturur.
Dizin artı yeni boyut bu arabellek boyutundan büyük olmamalıdır. Bu arabelleğin içeriğinde yapılan değişiklikler yeni arabellekte görünür olacaktır ve bunun tersi de geçerlidir. Yeni arabellek, yalnızca ve yalnızca bu arabellek salt okunursa salt okunur olacaktır.
Parametreler
dizin | oluşturulan yeni arabelleğin ilk değerinin dizini |
---|---|
boyut | bu yeni arabelleğin boyutu size() dan büyük olmamalıdır |
İade
- yeni tampon
genel özet DataBufferWindow < LongDataBuffer > penceresi (uzun boyutlu)
Bu arabelleğin kısmi görünümünü sağlayan bir DataBufferWindow
oluşturur.
Oluşturulan pencerenin sabit bir boyutu vardır ve offset(long)
yaptığı gibi, yeni bir arabellek örneği tahsis etmeden verilerin farklı görünümlerini sağlamak için bu arabellek boyunca "slide"
. Bu işlem sık sık tekrarlandığında genel performansı artırır. Örneğin:
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;
}
}
Döndürülen nesne durum bilgilidir ve iş parçacığı açısından güvenli değildir.
Parametreler
boyut | pencerenin boyutu |
---|
İade
- bu arabelleğin 0 dizininde başlayan yeni bir pencere
genel özet LongDataBuffer yazma (long[] src, int offset, int uzunluk)
Uzun diziler kullanan toplu koyma yöntemi.
Bu yöntem, verilen kaynak dizideki değerleri bu ara belleğe aktarır. Kaynak dizide bu arabellektekinden daha fazla değer varsa, yani length > size()
ise hiçbir değer aktarılmaz ve bir BufferOverflowException oluşturulur.
Aksi takdirde, bu yöntem, verilen diziden n = length
değerlerini, verilen konumdan başlayarak bu ara belleğe kopyalar.
Parametreler
kaynak | değerlerin okunacağı kaynak dizisi |
---|---|
telafi etmek | okunacak ilk değerin dizisi içindeki uzaklık; negatif olmamalı ve src.length büyük olmamalıdır |
uzunluk | verilen diziden okunacak değerlerin sayısı; negatif olmamalı ve src.length - offset değerinden büyük olmamalıdır |
İade
- bu tampon
Atar
BufferOverflowException | kaynak dizideki değerler için bu arabellekte yeterli alan yoksa |
---|---|
IndexOutOfBoundsException | ofset ve uzunluk parametrelerindeki ön koşullar karşılanmıyorsa |
ReadOnlyBufferException | bu arabellek salt okunursa |
genel özet LongDataBuffer yazma (long[] src)
Uzun diziler kullanan toplu koyma yöntemi.
Bu yöntem, verilen kaynak dizideki değerleri bu ara belleğe aktarır. Kaynak dizide bu arabellektekinden daha fazla değer varsa, yani src.length > size()
ise hiçbir değer aktarılmaz ve bir BufferOverflowException oluşturulur.
Aksi takdirde, bu yöntem verilen diziden n = src.length
değerlerini kopyalar.
Parametreler
kaynak | değerlerin okunacağı kaynak dizisi |
---|
İade
- bu tampon
Atar
BufferOverflowException | kaynak dizideki değerler için bu arabellekte yeterli alan yoksa |
---|---|
ReadOnlyBufferException | bu arabellek salt okunursa |