Çiftlerden oluşan bir DataBuffer
.
Genel Yöntemler
soyut DoubleDataBuffer | copyTo ( DataBuffer <Çift> dst, uzun boyut) |
soyut çift | getDouble (uzun dizin) Verilen dizindeki double'ı okur. |
soyut Çift | getObject (uzun dizin) Verilen indeksteki değeri okur. |
soyut DoubleDataBuffer | 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. |
soyut DoubleDataBuffer | 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. |
soyut DoubleDataBuffer | oku (double[] dst) Çift dizileri kullanan toplu alma yöntemi. |
soyut DoubleDataBuffer | okuma (double[] dst, int ofset, int uzunluk) Çift dizileri kullanan toplu alma yöntemi. |
soyut DoubleDataBuffer | setDouble (çift değer, uzun dizin) Verilen double'ı verilen dizindeki bu arabelleğe yazar. |
soyut DoubleDataBuffer | setObject (Çift değer, uzun dizin) |
soyut DoubleDataBuffer | 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 < DoubleDataBuffer > | pencere (uzun boy) Bu arabelleğin kısmi görünümünü sağlayan bir DataBufferWindow oluşturur. |
soyut DoubleDataBuffer | yaz (çift[] kaynak) Çift diziler kullanan toplu koyma yöntemi. |
soyut DoubleDataBuffer | yazma (double[] kaynak, int ofset, int uzunluk) Çift diziler kullanan toplu koyma yöntemi. |
Kalıtsal Yöntemler
Genel Yöntemler
genel soyut double getDouble (uzun dizin)
Verilen dizindeki double'ı okur.
Parametreler
dizin | kayan noktanın okunacağı dizin |
---|
İade
- verilen endekste çift
Atar
IndexOutOfBoundsException | indeks negatifse veya arabellek boyutundan küçük değilse |
---|
genel özet Double 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 DoubleDataBuffer 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 DoubleDataBuffer uzaklığı (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 DoubleDataBuffer okuması (double[] dst)
Çift dizileri 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 DoubleDataBuffer okuması (double[] dst, int offset, int uzunluk)
Çift dizileri 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 DoubleDataBuffer setDouble (çift değer, uzun dizin)
Verilen double'ı verilen dizindeki bu arabelleğe yazar.
Parametreler
değer | yazılacak çift |
---|---|
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 DoubleDataBuffer 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 < DoubleDataBuffer > pencere (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 DoubleDataBuffer yazma (double[] src)
Çift 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 |
genel özet DoubleDataBuffer yazma (double[] src, int offset, int uzunluk)
Çift 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 |