當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java java.nio.DoubleBuffer用法及代碼示例


DoubleBuffer 保存要在 I/O 操作中使用的雙精度值序列。 DoubleBuffer 類提供以下四類針對長緩衝區的操作:

  • 讀取單雙精度數的絕對和相對 get 方法。
  • 寫入單雙精度數的絕對和相對 put 方法。
  • 相對批量 put 和 get 方法,將連續的雙精度序列從 int 數組或其他雙精度緩衝區傳輸到此緩衝區,並從該緩衝區傳輸到數組。

短緩衝區可以通過以下方式創建:

  • allocate():這為緩衝區的內容分配空間。
  • wrap():這會將現有的長數組包裝到緩衝區中。

DoubleBuffer 類的大多數方法與 ByteBuffer 定義的方法直接類似。

類別聲明:

public abstract class DoubleBuffer

extends Buffer

implements Comparable<DoubleBuffer>

ShortBuffer類的方法:

方法 說明
DoubleBuffer allocate() 該方法分配一個新的雙緩衝區。
DoubleBuffer array() 此方法返回支持此緩衝區的雙精度數組。
DoubleBuffer arrayOffset() 此方法返回緩衝區第一個元素在該緩衝區的後備數組中的偏移量。
DoubleBuffer asReadOnlyBuffer() 此方法創建一個新的隻讀短緩衝區,共享該緩衝區的內容。
DoubleBuffer compact() 此方法壓縮此緩衝區。
DoubleBuffer compareTo() 此方法將此緩衝區與另一個緩衝區進行比較。
DoubleBuffer duplicate() 此方法創建一個新的雙緩衝區來共享該緩衝區的內容。
DoubleBuffer equals() 此方法告知此緩衝區是否等於另一個對象。
DoubleBuffer get() 該方法是一個相對 get 方法,返回緩衝區當前位置的雙精度值。
DoubleBuffer get() 該方法是一個相對批量獲取方法並返回該緩衝區。
DoubleBuffer get() 這個方法是和這個buffer相對的批量獲取方法。
DoubleBuffer get() 這個方法是一個絕對的get方法和這個buffer。
DoubleBuffer hasArray() 此方法告知此緩衝區是否由可訪問的 int 數組支持。
hashCode() 該方法返回該緩衝區的當前哈希碼。
isDirect() 此方法告訴 int 緩衝區是否是直接的。
DoubleBuffer order() 該方法檢索該緩衝區的字節順序。
DoubleBuffer put()方法 該方法是一個相對的 put 方法並返回該緩衝區。
DoubleBuffer put()方法 此方法是相對批量放置方法並返回此緩衝區。
DoubleBuffer put()方法 此方法是相對批量放置方法並返回此緩衝區。
DoubleBuffer put()方法 此方法是相對批量放置方法並返回此緩衝區。
DoubleBuffer put()方法 該方法是該緩衝區的絕對 put 方法。
DoubleBuffer slice() 此方法創建一個新的雙緩衝區,其內容是該緩衝區內容的共享子序列。
toString() 此方法返回一個總結該緩衝區狀態的字符串。
DoubleBuffer wrap() 此方法將雙精度數組包裝到緩衝區中。
DoubleBuffer wrap() 此方法將雙精度數組包裝到緩衝區中。

以下是一些演示DoubleBuffer類及其方法的程序:

示例 1:

Java


// Java program to demonstrate 
// DoubleBuffer class 
  
import java.nio.*; 
import java.util.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // Declaring the capacity of the DoubleBuffer 
        int capacity = 5; 
  
        // Creating the DoubleBuffer 
  
        // creating object of Doublebuffer 
        // and allocating size capacity 
        DoubleBuffer db = DoubleBuffer.allocate(capacity); 
  
        // putting the value in Doublebuffer 
        db.put(9.26F); 
        db.put(2, 5.61F); 
  
        System.out.println("DoubleBuffer: "
                           + Arrays.toString(db.array())); 
    } 
}
輸出
DoubleBuffer: [9.260000228881836, 0.0, 5.610000133514404, 0.0, 0.0]

示例 2:

Java


// Java program to demonstrate 
// DoubleBuffer class 
  
import java.nio.*; 
import java.util.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // Declaire and initialize the float array 
        double[] fbb = { 1.25D, 5.34D, 8.56D }; 
  
        // print the float array length 
        System.out.println("Array length : " + fbb.length); 
  
        // print the float array element 
        System.out.println("\nArray element : "
                           + Arrays.toString(fbb)); 
  
        // wrap the float array into floatBuffer 
        // using wrap() method 
        DoubleBuffer doubleBuffer = DoubleBuffer.wrap(fbb); 
  
        // Rewind the floatbuffer 
        doubleBuffer.rewind(); 
  
        // print the float buffer 
        System.out.println( 
            "\ndoubleBuffer : "
            + Arrays.toString(doubleBuffer.array())); 
  
        // print the DoubleBuffer capacity 
        System.out.println("\ndoublebuffer capacity : "
                           + doubleBuffer.capacity()); 
  
        // print the DoubleBuffer position 
        System.out.println("\ndoublebuffer position: "
                           + doubleBuffer.position()); 
    } 
}
輸出
Array length : 3

Array element : [1.25, 5.34, 8.56]

doubleBuffer : [1.25, 5.34, 8.56]

doublebuffer capacity : 3

doublebuffer position: 0


相關用法


注:本文由純淨天空篩選整理自mank1083大神的英文原創作品 java.nio.DoubleBuffer Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。