クラスDoubleBuffer
- ã™ã¹ã¦ã®å®Ÿè£…ã•れãŸã‚¤ãƒ³ã‚¿ãƒ•ェース:
Comparable<DoubleBuffer>
ã“ã®ã‚¯ãƒ©ã‚¹ã¯ã€doubleãƒãƒƒãƒ•ã‚¡ã«å¯¾ã™ã‚‹æ“作を4ã¤ã®ã‚«ãƒ†ã‚´ãƒªã«åˆ†é¡žã—ã¾ã™ã€‚
å˜ä¸€doubleã®èªã¿è¾¼ã¿ã¨æ›¸è¾¼ã¿ã‚’行ã†çµ¶å¯¾ãŠã‚ˆã³ç›¸å¯¾
get/putメソッド。ã“ã®ãƒãƒƒãƒ•ã‚¡ã‹ã‚‰é…列ã«é€£ç¶šã™ã‚‹å€æ•°ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’転é€ã™ã‚‹ã€çµ¶å¯¾ãŠã‚ˆã³ç›¸å¯¾çš„ãª
bulk getメソッド二é‡é…列ã¾ãŸã¯ä»–ã®äºŒé‡ãƒãƒƒãƒ•ã‚¡ã‹ã‚‰ã“ã®ãƒãƒƒãƒ•ã‚¡ã«é€£ç¶šã—ãŸäºŒé‡é…列を転é€ã™ã‚‹çµ¶å¯¾ãŠã‚ˆã³ç›¸å¯¾çš„ãª
bulk putメソッドダブル・ãƒãƒƒãƒ•ã‚¡ã‚’
compactingã™ã‚‹ãŸã‚ã®ãƒ¡ã‚½ãƒƒãƒ‰ã€‚
doubleãƒãƒƒãƒ•ァを作æˆã™ã‚‹ã«ã¯ã€ãƒãƒƒãƒ•ã‚¡ã®å†…容ã«å®¹é‡ã‚’割り当ã¦ã‚‹å‰²ã‚Šå½“ã¦ã‚’実行ã™ã‚‹ã‹ã€æ—¢å˜ã®doubleé…列をãƒãƒƒãƒ•ァ内ã«ãƒ©ãƒƒãƒ—ã™ã‚‹ã‹ã€æ—¢å˜ã®byteãƒãƒƒãƒ•ã‚¡ã®ãƒ“ューを作æˆã—ã¾ã™ã€‚
byteãƒãƒƒãƒ•ã‚¡ã¨åŒæ§˜ã«ã€doubleãƒãƒƒãƒ•ã‚¡ã«ã‚‚「ダイレクトã€ã¨ã€Œéžãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã€ãŒã‚りã¾ã™ã€‚ ã“ã®ã‚¯ãƒ©ã‚¹ã®wrapメソッドを介ã—ã¦ä½œæˆã•れãŸdoubleãƒãƒƒãƒ•ã‚¡ã¯ã€ãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã§ã¯ã‚りã¾ã›ã‚“。 byteãƒãƒƒãƒ•ã‚¡ã®ãƒ“ューã¨ã—ã¦ä½œæˆã•れãŸdoubleãƒãƒƒãƒ•ã‚¡ã¯ã€byteãƒãƒƒãƒ•ã‚¡ãŒãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãƒ»ãƒãƒƒãƒ•ã‚¡ã§ã‚ã‚‹å ´åˆã«ã‹ãŽã‚Šãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãƒ»ãƒãƒƒãƒ•ã‚¡ã«ãªã‚Šã¾ã™ã€‚ doubleãƒãƒƒãƒ•ã‚¡ãŒãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãƒ»ãƒãƒƒãƒ•ã‚¡ã‹ã©ã†ã‹ã¯ã€isDirectメソッドã®å‘¼å‡ºã—ã«ã‚ˆã£ã¦åˆ¤æ–ã§ãã¾ã™ã€‚
ã“ã®ã‚¯ãƒ©ã‚¹ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®ã†ã¡æˆ»ã‚Šå€¤ã‚’è¿”ã•ãªã„ã‚‚ã®ã¯ã€è‡ªèº«ã‚’呼ã³å‡ºã—ãŸãƒãƒƒãƒ•ã‚¡ã®æƒ…å ±ã‚’è¿”ã—ã¾ã™ã€‚ ã“れを応用ã—ã¦ã€ãƒ¡ã‚½ãƒƒãƒ‰å‘¼å‡ºã—を連鎖ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作
ã€Œã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作ã€ã¨ã—ã¦æŒ‡å®šã•れãŸãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€read-only DoubleBufferã§å‘¼ã³å‡ºã•れるã¨ReadOnlyBufferExceptionをスãƒãƒ¼ã—ã¾ã™ã€‚ DoubleBufferãŒã€Œã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ãªdoubleé…列〠(DoubleBufferãŒèªå–り専用ã‹ã©ã†ã‹ã«é–¢ä¿‚ãªãã€)ã«æ”¯ãˆã‚‰ã‚Œã¦ã„ãªã„å ´åˆã€ãƒ¡ã‚½ãƒƒãƒ‰ã€Œé…列ã€ãŠã‚ˆã³arrayOffsetã¯UnsupportedOperationExceptionをスãƒãƒ¼ã—ã¾ã™ã€‚- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.4
-
メソッドã®ã‚µãƒžãƒªãƒ¼
修飾åã¨åž‹ãƒ¡ã‚½ãƒƒãƒ‰èª¬æ˜Žstatic DoubleBufferallocate(int capacity) æ–°ã—ã„doubleãƒãƒƒãƒ•ァを割り当ã¦ã¾ã™ã€‚final double[]array()ã“ã®ãƒãƒƒãƒ•ァを補助ã™ã‚‹doubleé…列を返ã—ã¾ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。final intã“ã®ãƒãƒƒãƒ•ã‚¡ã®è£œåŠ©é…列内ã«ã‚ã‚‹ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã®æœ€åˆã®è¦ç´ ã®ã‚ªãƒ•セットを返ã—ã¾ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。abstract DoubleBufferã“ã®ãƒãƒƒãƒ•ã‚¡ã®å†…容を共有ã™ã‚‹æ–°ã—ã„èªè¾¼ã¿å°‚用doubleãƒãƒƒãƒ•ァを作æˆã—ã¾ã™ã€‚final DoubleBufferclear()ã“ã®ãƒãƒƒãƒ•ァをクリアã—ã¾ã™ã€‚abstract DoubleBuffercompact()ã“ã®ãƒãƒƒãƒ•ァを圧縮ã—ã¾ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。intcompareTo(DoubleBuffer that) ã“ã®ãƒãƒƒãƒ•ァを別ã®ãƒãƒƒãƒ•ã‚¡ã¨æ¯”較ã—ã¾ã™ã€‚abstract DoubleBufferã“ã®ãƒãƒƒãƒ•ã‚¡ã®å†…容を共有ã™ã‚‹æ–°ã—ã„doubleãƒãƒƒãƒ•ァを作æˆã—ã¾ã™ã€‚booleanã“ã®ãƒãƒƒãƒ•ã‚¡ãŒåˆ¥ã®ã‚ªãƒ–ジェクトã¨ç‰ä¾¡ã§ã‚ã‚‹ã‹ã©ã†ã‹ã‚’判æ–ã—ã¾ã™ã€‚final DoubleBufferflip()ã“ã®ãƒãƒƒãƒ•ァをフリップ(å転)ã—ã¾ã™ã€‚abstract doubleget()相対getメソッドã§ã™ã€‚get(double[] dst) 相対一括getメソッドã§ã™ã€‚get(double[] dst, int offset, int length) 相対一括getメソッドã§ã™ã€‚abstract doubleget(int index) 絶対getメソッドã§ã™ã€‚get(int index, double[] dst) 絶対一括getメソッド。get(int index, double[] dst, int offset, int length) 絶対一括getメソッド。final booleanhasArray()ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ãªdoubleé…列ã«é€£å‹•ã™ã‚‹ã‹ã©ã†ã‹ã‚’判æ–ã—ã¾ã™ã€‚inthashCode()ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ç¾åœ¨ã®ãƒãƒƒã‚·ãƒ¥ãƒ»ã‚³ãƒ¼ãƒ‰ã‚’è¿”ã—ã¾ã™ã€‚abstract booleanisDirect()ç¾åœ¨ã®doubleãƒãƒƒãƒ•ã‚¡ãŒãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãƒ»ãƒãƒƒãƒ•ã‚¡ã§ã‚ã‚‹ã‹ã©ã†ã‹ã‚’判æ–ã—ã¾ã™ã€‚final DoubleBufferlimit(int newLimit) ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ãƒªãƒŸãƒƒãƒˆã‚’è¨å®šã—ã¾ã™ã€‚final DoubleBuffermark()ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ç¾åœ¨ä½ç½®ã«ãƒžãƒ¼ã‚¯ã‚’è¨å®šã—ã¾ã™ã€‚intmismatch(DoubleBuffer that) ã“ã®ãƒãƒƒãƒ•ã‚¡ã¨æŒ‡å®šã•れãŸãƒãƒƒãƒ•ã‚¡ã®æœ€åˆã®ä¸ä¸€è‡´ã®ç›¸å¯¾ç´¢å¼•を検索ã—ã¦æˆ»ã—ã¾ã™ã€‚abstract ByteOrderorder()ã“ã®ãƒãƒƒãƒ•ã‚¡ã®byteé †åºã‚’å–å¾—ã—ã¾ã™ã€‚final DoubleBufferposition(int newPosition) ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã‚’è¨å®šã—ã¾ã™ã€‚abstract DoubleBufferput(double d) 相対putメソッドã§ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。final DoubleBufferput(double[] src) 相対一括putメソッドã§ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。put(double[] src, int offset, int length) 相対一括putメソッドã§ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。abstract DoubleBufferput(int index, double d) 絶対putメソッドã§ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。put(int index, double[] src) (optional operation)ã®çµ¶å¯¾ä¸€æ‹¬putメソッド。put(int index, double[] src, int offset, int length) (optional operation)ã®çµ¶å¯¾ä¸€æ‹¬putメソッド。put(int index, DoubleBuffer src, int offset, int length) (optional operation)ã®çµ¶å¯¾ä¸€æ‹¬putメソッド。put(DoubleBuffer src) 相対一括putメソッドã§ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。final DoubleBufferreset()ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã‚’以å‰ã«ãƒžãƒ¼ã‚¯ã—ãŸä½ç½®ã«æˆ»ã—ã¾ã™ã€‚final DoubleBufferrewind()ã“ã®ãƒãƒƒãƒ•ァをリワインド(å·»ãæˆ»ã—)ã—ã¾ã™ã€‚abstract DoubleBufferslice()ã“ã®ãƒãƒƒãƒ•ã‚¡ã®å†…容ã®å…±æœ‰ã®ã‚µãƒ–シーケンスを内容ã¨ã™ã‚‹æ–°ã—ã„doubleãƒãƒƒãƒ•ァを作æˆã—ã¾ã™ã€‚abstract DoubleBufferslice(int index, int length) ã“ã®ãƒãƒƒãƒ•ã‚¡ã®å†…容ã®å…±æœ‰ã®ã‚µãƒ–シーケンスを内容ã¨ã™ã‚‹æ–°ã—ã„doubleãƒãƒƒãƒ•ァを作æˆã—ã¾ã™ã€‚toString()ã“ã®ãƒãƒƒãƒ•ã‚¡ã®çŠ¶æ…‹ã‚’è¦ç´„ã—ãŸæ–‡å—列を返ã—ã¾ã™ã€‚static DoubleBufferwrap(double[] array) doubleé…列をãƒãƒƒãƒ•ã‚¡ã«ãƒ©ãƒƒãƒ—ã—ã¾ã™ã€‚static DoubleBufferwrap(double[] array, int offset, int length) doubleé…列をãƒãƒƒãƒ•ã‚¡ã«ãƒ©ãƒƒãƒ—ã—ã¾ã™ã€‚クラスjava.nio.Bufferã§å®£è¨€ã•れãŸãƒ¡ã‚½ãƒƒãƒ‰
capacity, hasRemaining, isReadOnly, limit, position, remaining
-
メソッドã®è©³ç´°
-
allocate
public static DoubleBuffer allocate(int capacity) æ–°ã—ã„doubleãƒãƒƒãƒ•ァを割り当ã¦ã¾ã™ã€‚æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã¯ã‚¼ãƒã€ãã®åˆ¶é™ã¯å®¹é‡ã€ãƒžãƒ¼ã‚¯ã¯æœªå®šç¾©ã€å„è¦ç´ ã¯ã‚¼ãƒã«åˆæœŸåŒ–ã•れã€ãã®ãƒã‚¤ãƒˆé †åºã¯åŸºç¤Žã¨ãªã‚‹ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã®
native orderã«ãªã‚Šã¾ã™ã€‚backing arrayãŒã‚りã€ãã®array offsetã¯ã‚¼ãƒã«ãªã‚Šã¾ã™ã€‚- パラメータ:
capacity- æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®å®¹é‡(double)- 戻り値:
- æ–°ã—ã„doubleãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
IllegalArgumentException-capacityãŒè² ã®æ•´æ•°ã§ã‚ã‚‹å ´åˆ
-
wrap
public static DoubleBuffer wrap(double[] array, int offset, int length) doubleé…列をãƒãƒƒãƒ•ã‚¡ã«ãƒ©ãƒƒãƒ—ã—ã¾ã™ã€‚æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã¯æŒ‡å®šã•れãŸdoubleé…列ã«ã‚ˆã£ã¦è£œåŠ©ã•れã¾ã™ã€‚ãƒãƒƒãƒ•ã‚¡ã«å¤‰æ›´ã‚’åŠ ãˆã‚‹ã¨é…列も変更ã•れã€é…列ã«å¤‰æ›´ã‚’åŠ ãˆã‚‹ã¨ãƒãƒƒãƒ•ァも変更ã•れã¾ã™ã€‚ æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®å®¹é‡ã¯
array.lengthã€ä½ç½®ã¯offsetã€åˆ¶é™ã¯offset + lengthã€ãƒžãƒ¼ã‚¯ã¯æœªå®šç¾©ã€ãƒã‚¤ãƒˆé †åºã¯åŸºç¤Žã¨ãªã‚‹ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã®native orderã«ãªã‚Šã¾ã™ã€‚ ãã®backing arrayã¯æŒ‡å®šã•れãŸé…列ã«ãªã‚Šã€ãã®array offsetã¯ã‚¼ãƒã«ãªã‚Šã¾ã™ã€‚- パラメータ:
array- æ–°ã—ã„ãƒãƒƒãƒ•ァを補助ã™ã‚‹é…列offset- 使用ã™ã‚‹ã‚µãƒ–é…列ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã€‚è² ä»¥å¤–ã§ã€array.length以下ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã¯ã€ã“ã®å€¤ã«è¨å®šã•れる。length- 使用ã™ã‚‹ã‚µãƒ–é…列ã®é•·ã•ã€‚è² ä»¥å¤–ã§ã€array.length - offset以下ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®åˆ¶é™ã¯offset + lengthã«è¨å®šã•れã¾ã™ã€‚- 戻り値:
- æ–°ã—ã„doubleãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
IndexOutOfBoundsException-offsetパラメータã¨lengthパラメータã®å‰ææ¡ä»¶ãŒæº€ãŸã•れã¦ã„ãªã„å ´åˆ
-
wrap
public static DoubleBuffer wrap(double[] array) doubleé…列をãƒãƒƒãƒ•ã‚¡ã«ãƒ©ãƒƒãƒ—ã—ã¾ã™ã€‚æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã¯æŒ‡å®šã•れãŸdoubleé…列ã«ã‚ˆã£ã¦è£œåŠ©ã•れã¾ã™ã€‚ãƒãƒƒãƒ•ã‚¡ã«å¤‰æ›´ã‚’åŠ ãˆã‚‹ã¨é…列も変更ã•れã€é…列ã«å¤‰æ›´ã‚’åŠ ãˆã‚‹ã¨ãƒãƒƒãƒ•ァも変更ã•れã¾ã™ã€‚ æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®å®¹é‡ã¨åˆ¶é™ã¯
array.lengthã€ãã®ä½ç½®ã¯ã‚¼ãƒã€ãƒžãƒ¼ã‚¯ã¯æœªå®šç¾©ã€ãƒã‚¤ãƒˆé †åºã¯åŸºç¤Žã¨ãªã‚‹ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã®native orderã«ãªã‚Šã¾ã™ã€‚ ãã®backing arrayã¯æŒ‡å®šã•れãŸé…列ã«ãªã‚Šã€ãã®array offsetã¯ã‚¼ãƒã«ãªã‚Šã¾ã™ã€‚- パラメータ:
array- ã“ã®ãƒãƒƒãƒ•ァを補助ã™ã‚‹é…列- 戻り値:
- æ–°ã—ã„doubleãƒãƒƒãƒ•ã‚¡
-
slice
public abstract DoubleBuffer slice()ã“ã®ãƒãƒƒãƒ•ã‚¡ã®å†…容ã®å…±æœ‰ã®ã‚µãƒ–シーケンスを内容ã¨ã™ã‚‹æ–°ã—ã„doubleãƒãƒƒãƒ•ァを作æˆã—ã¾ã™ã€‚æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®å†…容ã¯ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ç¾åœ¨ä½ç½®ã‹ã‚‰å§‹ã¾ã‚Šã¾ã™ã€‚ ã“ã®ãƒãƒƒãƒ•ã‚¡ã®å†…容ã«å¤‰æ›´ã‚’åŠ ãˆã‚‹ã¨ã€ãã®å†…å®¹ãŒæ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã«åæ˜ ã•れã¾ã™ã€‚æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®å†…容ã«å¤‰æ›´ã‚’åŠ ãˆã‚‹ã¨ã€ãã®å†…容ãŒã“ã®ãƒãƒƒãƒ•ã‚¡ã«åæ˜ ã•れã¾ã™ã€‚2ã¤ã®ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã€ãƒªãƒŸãƒƒãƒˆã€ãƒžãƒ¼ã‚¯ã®å€¤ã¯ãれãžã‚Œç•°ãªã‚Šã¾ã™ã€‚
æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã¯ã‚¼ãƒã«ãªã‚Šã€å®¹é‡ã¨ãã®åˆ¶é™ã¯ã“ã®ãƒãƒƒãƒ•ã‚¡ã«æ®‹ã£ã¦ã„ã‚‹doubleã®æ•°ã«ãªã‚Šã€ãƒžãƒ¼ã‚¯ã¯æœªå®šç¾©ã«ãªã‚Šã€ãã®ãƒã‚¤ãƒˆé †åºã¯ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ã‚‚ã®ã¨åŒã˜ã«ãªã‚Šã¾ã™ã€‚ æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã¯ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãƒ»ãƒãƒƒãƒ•ã‚¡ã§ã‚ã‚‹å ´åˆã«ã‹ãŽã‚Šãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãƒ»ãƒãƒƒãƒ•ã‚¡ã«ãªã‚Šã¾ã™ã€‚ã¾ãŸã€ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒèªå–り専用ãƒãƒƒãƒ•ã‚¡ã§ã‚ã‚‹å ´åˆã«ã‹ãŽã‚Šèªå–り専用ãƒãƒƒãƒ•ã‚¡ã«ãªã‚Šã¾ã™ã€‚
-
slice
public abstract DoubleBuffer slice(int index, int length) ã“ã®ãƒãƒƒãƒ•ã‚¡ã®å†…容ã®å…±æœ‰ã®ã‚µãƒ–シーケンスを内容ã¨ã™ã‚‹æ–°ã—ã„doubleãƒãƒƒãƒ•ァを作æˆã—ã¾ã™ã€‚æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®å†…容ã¯ã€ã“ã®ãƒãƒƒãƒ•ァ内ã®
indexã®ä½ç½®ã‹ã‚‰å§‹ã¾ã‚Šã€lengthè¦ç´ ãŒå«ã¾ã‚Œã¾ã™ã€‚ ã“ã®ãƒãƒƒãƒ•ã‚¡ã®å†…容ã«å¤‰æ›´ã‚’åŠ ãˆã‚‹ã¨ã€ãã®å†…å®¹ãŒæ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã«åæ˜ ã•れã¾ã™ã€‚æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®å†…容ã«å¤‰æ›´ã‚’åŠ ãˆã‚‹ã¨ã€ãã®å†…容ãŒã“ã®ãƒãƒƒãƒ•ã‚¡ã«åæ˜ ã•れã¾ã™ã€‚2ã¤ã®ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã€ãƒªãƒŸãƒƒãƒˆã€ãƒžãƒ¼ã‚¯ã®å€¤ã¯ãれãžã‚Œç•°ãªã‚Šã¾ã™ã€‚æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ä½ç½®ã¯ã‚¼ãƒã€å®¹é‡ã¨ãƒªãƒŸãƒƒãƒˆã¯
lengthã€ãƒžãƒ¼ã‚¯ã¯æœªå®šç¾©ã€ãƒã‚¤ãƒˆé †åºã¯ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ã‚‚ã®ã¨åŒä¸€ã§ã™ã€‚ æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã¯ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãƒ»ãƒãƒƒãƒ•ã‚¡ã§ã‚ã‚‹å ´åˆã«ã‹ãŽã‚Šãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãƒ»ãƒãƒƒãƒ•ã‚¡ã«ãªã‚Šã¾ã™ã€‚ã¾ãŸã€ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒèªå–り専用ãƒãƒƒãƒ•ã‚¡ã§ã‚ã‚‹å ´åˆã«ã‹ãŽã‚Šèªå–り専用ãƒãƒƒãƒ•ã‚¡ã«ãªã‚Šã¾ã™ã€‚- 定義:
- クラス
Bufferã®slice - パラメータ:
index- æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®å†…容ãŒé–‹å§‹ã•れるã€ã“ã®ãƒãƒƒãƒ•ァ内ã®ä½ç½®ã€‚limit()以外ã®å€¤ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚length- æ–°è¦ãƒãƒƒãƒ•ã‚¡ã«å«ã¾ã‚Œã‚‹è¦ç´ ã®æ•°ã€‚è² ä»¥å¤–ã§limit() - indexより大ãã„値ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚- 戻り値:
- æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
IndexOutOfBoundsException-indexãŒã€limit()以上ã®å ´åˆã€lengthãŒãƒžã‚¤ãƒŠã‚¹ã¾ãŸã¯length > limit() - index- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 13
-
duplicate
public abstract DoubleBuffer duplicate()ã“ã®ãƒãƒƒãƒ•ã‚¡ã®å†…容を共有ã™ã‚‹æ–°ã—ã„doubleãƒãƒƒãƒ•ァを作æˆã—ã¾ã™ã€‚æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®å†…容ã¯ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã®å†…容ã¨åŒã˜ã«ãªã‚Šã¾ã™ã€‚ ã“ã®ãƒãƒƒãƒ•ã‚¡ã®å†…容ã«å¤‰æ›´ã‚’åŠ ãˆã‚‹ã¨ã€ãã®å†…å®¹ãŒæ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã«åæ˜ ã•れã¾ã™ã€‚æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®å†…容ã«å¤‰æ›´ã‚’åŠ ãˆã‚‹ã¨ã€ãã®å†…容ãŒã“ã®ãƒãƒƒãƒ•ã‚¡ã«åæ˜ ã•れã¾ã™ã€‚2ã¤ã®ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã€ãƒªãƒŸãƒƒãƒˆã€ãƒžãƒ¼ã‚¯ã®å€¤ã¯ãれãžã‚Œç•°ãªã‚Šã¾ã™ã€‚
æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®å®¹é‡ã€åˆ¶é™ã€ä½ç½®ã€ãƒžãƒ¼ã‚¯å€¤ã€ãŠã‚ˆã³ãƒã‚¤ãƒˆé †åºã¯ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã®å®¹é‡ã¨åŒä¸€ã«ãªã‚Šã¾ã™ã€‚ æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã¯ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãƒ»ãƒãƒƒãƒ•ã‚¡ã§ã‚ã‚‹å ´åˆã«ã‹ãŽã‚Šãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãƒ»ãƒãƒƒãƒ•ã‚¡ã«ãªã‚Šã¾ã™ã€‚ã¾ãŸã€ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒèªå–り専用ãƒãƒƒãƒ•ã‚¡ã§ã‚ã‚‹å ´åˆã«ã‹ãŽã‚Šèªå–り専用ãƒãƒƒãƒ•ã‚¡ã«ãªã‚Šã¾ã™ã€‚
-
asReadOnlyBuffer
public abstract DoubleBuffer asReadOnlyBuffer()ã“ã®ãƒãƒƒãƒ•ã‚¡ã®å†…容を共有ã™ã‚‹æ–°ã—ã„èªè¾¼ã¿å°‚用doubleãƒãƒƒãƒ•ァを作æˆã—ã¾ã™ã€‚æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®å†…容ã¯ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã®å†…容ã¨åŒã˜ã«ãªã‚Šã¾ã™ã€‚ ã“ã®ãƒãƒƒãƒ•ã‚¡ã®å†…容ã«å¤‰æ›´ã‚’åŠ ãˆã‚‹ã¨ã€ãã®å†…å®¹ãŒæ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã«åæ˜ ã•れã¾ã™ã€‚ã—ã‹ã—ã€æ–°ã—ã„ãƒãƒƒãƒ•ァ自体ã¯èªå–り専用ã§ã‚りã€ãã®å…±æœ‰å†…容を変更ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 2ã¤ã®ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã€ãƒªãƒŸãƒƒãƒˆã€ãƒžãƒ¼ã‚¯ã®å€¤ã¯ãれãžã‚Œç•°ãªã‚Šã¾ã™ã€‚
æ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ã®å®¹é‡ã€åˆ¶é™ã€ä½ç½®ã€ãƒžãƒ¼ã‚¯å€¤ã€ãŠã‚ˆã³ãƒã‚¤ãƒˆé †åºã¯ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã®å®¹é‡ã¨åŒä¸€ã«ãªã‚Šã¾ã™ã€‚
ã“ã®ãƒãƒƒãƒ•ァ自身ãŒèªè¾¼ã¿å°‚用ã®å ´åˆã¯ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯
duplicateã¨åŒã˜ã‚ˆã†ã«å‹•作ã—ã¾ã™ã€‚- 戻り値:
- æ–°ã—ã„èªè¾¼ã¿å°‚用doubleãƒãƒƒãƒ•ã‚¡
-
get
public abstract double get()相対getメソッドã§ã™ã€‚ ãƒãƒƒãƒ•ã‚¡ã®ç¾åœ¨ä½ç½®ã«ã‚ã‚‹doubleã‚’èªã¿è¾¼ã¿ã€ç¾åœ¨ä½ç½®ã‚’å¢—åŠ ã—ã¾ã™ã€‚- 戻り値:
- ãƒãƒƒãƒ•ã‚¡ã®ç¾åœ¨ä½ç½®ã®double
- スãƒãƒ¼:
BufferUnderflowException- ãƒãƒƒãƒ•ã‚¡ã®ç¾åœ¨ä½ç½®ãŒãƒªãƒŸãƒƒãƒˆä»¥ä¸Šã§ã‚ã‚‹å ´åˆ
-
put
public abstract DoubleBuffer put(double d) 相対putメソッドã§ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ç¾åœ¨ä½ç½®ã«æŒ‡å®šã•れãŸdoubleを書ãè¾¼ã¿ã€ç¾åœ¨ä½ç½®ã‚’å¢—åŠ ã—ã¾ã™ã€‚
- パラメータ:
d- 書ãè¾¼ã¾ã‚Œã‚‹double- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
BufferOverflowException- ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ç¾åœ¨ä½ç½®ãŒãƒªãƒŸãƒƒãƒˆä»¥ä¸Šã§ã‚ã‚‹å ´åˆReadOnlyBufferException- ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒèªè¾¼ã¿å°‚用ã§ã‚ã‚‹å ´åˆ
-
get
public abstract double get(int index) 絶対getメソッドã§ã™ã€‚ 指定ã•れãŸã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ä½ç½®ã®doubleã‚’èªã¿è¾¼ã¿ã¾ã™ã€‚- パラメータ:
index- doubleã®èªè¾¼ã¿ä½ç½®ã‚’示ã™ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹- 戻り値:
- 指定ã•れãŸã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ä½ç½®ã®double
- スãƒãƒ¼:
IndexOutOfBoundsException-indexãŒè² ã®å€¤ã§ã‚ã‚‹ã‹ã€ãƒãƒƒãƒ•ã‚¡ã®åˆ¶é™ã‚ˆã‚Šå°ã•ã„値ã§ãªã„å ´åˆ
-
put
public abstract DoubleBuffer put(int index, double d) 絶対putメソッドã§ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。ã“ã®ãƒãƒƒãƒ•ã‚¡ã®æŒ‡å®šã•れãŸã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ä½ç½®ã«ã€æŒ‡å®šã•れãŸdoubleを書ãè¾¼ã¿ã¾ã™ã€‚
- パラメータ:
index- doubleã®æ›¸è¾¼ã¿å…ˆã‚’示ã™ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹d- 書ãè¾¼ã¾ã‚Œã‚‹double値- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
IndexOutOfBoundsException-indexãŒè² ã®å€¤ã§ã‚ã‚‹ã‹ã€ãƒãƒƒãƒ•ã‚¡ã®åˆ¶é™ã‚ˆã‚Šå°ã•ã„値ã§ãªã„å ´åˆReadOnlyBufferException- ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒèªè¾¼ã¿å°‚用ã§ã‚ã‚‹å ´åˆ
-
get
public DoubleBuffer get(double[] dst, int offset, int length) 相対一括getメソッドã§ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã‹ã‚‰æŒ‡å®šã•れãŸé…列ã¸doubleを転é€ã—ã¾ã™ã€‚ ãƒãƒƒãƒ•ã‚¡ã«æ®‹ã£ã¦ã„ã‚‹doublesãŒã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’満ãŸã™ãŸã‚ã«å¿…è¦ãªdoublesより少ãªã„å ´åˆã€ã¤ã¾ã‚Šã€
length>remaining()ã®å ´åˆã€doubleã¯è»¢é€ã•れãšã€BufferUnderflowExceptionãŒã‚¹ãƒãƒ¼ã•れã¾ã™ã€‚ãれ以外ã®å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€
lengthdoublesã‚’ã“ã®ãƒãƒƒãƒ•ã‚¡ã‹ã‚‰æŒ‡å®šã•れãŸé…列ã«ã‚³ãƒ”ーã—ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ç¾åœ¨ã®ä½ç½®ã‹ã‚‰é…åˆ—å†…ã®æŒ‡å®šã•れãŸã‚ªãƒ•セットã¾ã§ã‚³ãƒ”ーã—ã¾ã™ã€‚ ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã¯ã€lengthã«ã‚ˆã£ã¦å¢—分ã•れã¾ã™ã€‚ã¤ã¾ã‚Šã€
src.get(dst, off, len)å½¢å¼ã®ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®å‘¼å‡ºã—ã¯ã€ãƒ«ãƒ¼ãƒ—ã¨ã¾ã£ãŸãåŒã˜åŠ¹æžœãŒã‚りã¾ã™ãŸã ã—ã€ç¾åœ¨ã®ãƒãƒƒãƒ•ァ内ã«ååˆ†ãªæ•°ã®doubleãŒå˜åœ¨ã™ã‚‹ã“ã¨ã‚’最åˆã«ç¢ºèªã™ã‚‹å‹•作ã¯é™¤ãã¾ã™ã€‚ã¾ãŸã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使用ã—ãŸã»ã†ãŒãƒ«ãƒ¼ãƒ—よりもã¯ã‚‹ã‹ã«åŠ¹çŽ‡çš„ã§ã™ã€‚for (int i = off; i < off + len; i++) dst[i] = src.get();- パラメータ:
dst- doubleã®æ›¸è¾¼ã¿å…ˆã¨ãªã‚‹é…列offset- 書ãè¾¼ã¾ã‚Œã‚‹æœ€åˆã®doubleã®é…列内ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã€‚è² ä»¥å¤–ã§ã€dst.length以下ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™length- 指定ã•れãŸé…åˆ—ã«æ›¸ãè¾¼ã¾ã‚Œã‚‹doublesã®æœ€å¤§æ•°ã€‚è² ä»¥å¤–ã§ã€dst.length - offset以下ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
BufferUnderflowException- ã“ã®ãƒãƒƒãƒ•ã‚¡ã®æ®‹ã‚ŠãŒlengthdoublesより少ãªã„å ´åˆIndexOutOfBoundsException-offsetパラメータã¨lengthパラメータã®å‰ææ¡ä»¶ãŒæº€ãŸã•れã¦ã„ãªã„å ´åˆ
-
get
public DoubleBuffer get(double[] dst) 相対一括getメソッドã§ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã‹ã‚‰æŒ‡å®šã•れãŸé…列ã¸doubleを転é€ã—ã¾ã™ã€‚
src.get(a)å½¢å¼ã®ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®èµ·å‹•ã¯ã€èµ·å‹•ã¨ã¾ã£ãŸãåŒã˜ã‚ˆã†ã«å‹•作src.get(a, 0, a.length)- パラメータ:
dst- コピー先é…列- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
BufferUnderflowException- ã“ã®ãƒãƒƒãƒ•ã‚¡ã®æ®‹ã‚ŠãŒlengthdoublesより少ãªã„å ´åˆ
-
get
public DoubleBuffer get(int index, double[] dst, int offset, int length) 絶対一括getメソッド。ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã‹ã‚‰æŒ‡å®šã•れãŸé…列ã«
lengthã‚’é€ã‚Šã¾ã™ã€‚ã“ã®ãƒãƒƒãƒ•ã‚¡å†…ã®æŒ‡å®šã•れãŸç´¢å¼•ã‹ã‚‰é–‹å§‹ã—ã€é…åˆ—å†…ã®æŒ‡å®šã•れãŸã‚ªãƒ•セットã‹ã‚‰é–‹å§‹ã—ã¾ã™ã€‚ ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã¯å¤‰ã‚りã¾ã›ã‚“。フォーãƒ
src.get(index, dst, offset, length)ã®ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’èµ·å‹•ã—ã¦ã‚‚ã€æ¬¡ã®ãƒ«ãƒ¼ãƒ—ã¨ã¾ã£ãŸãåŒã˜åŠ¹æžœãŒã‚りã¾ã™ã€‚ãŸã ã—ã€æœ€åˆã«æä¾›ã•れãŸãƒ‘ラメータã®ä¸€è²«æ€§ãŒãƒã‚§ãƒƒã‚¯ã•れã€ãれãŒã•らã«åŠ¹çŽ‡çš„ã§ã‚ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™:for (int i = offset, j = index; i < offset + length; i++, j++) dst[i] = src.get(j);- パラメータ:
index- 最åˆã®doubleãŒèªã¿å–られるã“ã®ãƒãƒƒãƒ•ァ内ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã€‚è² ã§ãªã„値ã‹ã¤limit()よりå°ã•ã„値ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚dst- コピー先é…列offset- 最åˆã«æ›¸ãè¾¼ã¾ã‚Œã‚‹doubleã®é…列内ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã€‚è² ã§ãªã„ã€ã¾ãŸã¯dst.lengthよりå°ã•ã„å¿…è¦ãŒã‚りã¾ã™length- 指定ã•れãŸé…åˆ—ã«æ›¸ãè¾¼ã¾ã‚Œã‚‹doubleã®æ•°ã€‚limit() - indexãŠã‚ˆã³dst.length - offsetã®å°ã•ã„値以下ã®å€¤ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
IndexOutOfBoundsException-indexã€offsetãŠã‚ˆã³lengthパラメータã®äº‹å‰æ¡ä»¶ãŒæº€ãŸã•れã¦ã„ãªã„å ´åˆã€ãã‚Œã‚‰ã‚’ä¿æŒã—ã¾ã›ã‚“- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 13
-
get
public DoubleBuffer get(int index, double[] dst) 絶対一括getメソッド。ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã‹ã‚‰æŒ‡å®šã•れãŸé…列ã¸doubleを転é€ã—ã¾ã™ã€‚ ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã¯å¤‰ã‚りã¾ã›ã‚“。 フォーãƒ
src.get(index, dst)ã®ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®èµ·å‹•ã¯ã€èµ·å‹•ã¨ã¾ã£ãŸãåŒã˜æ–¹æ³•ã§å‹•作ã—ã¾ã™:src.get(index, dst, 0, dst.length)- パラメータ:
index- 最åˆã®doubleãŒèªã¿å–られるã“ã®ãƒãƒƒãƒ•ァ内ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã€‚è² ã§ãªã„値ã‹ã¤limit()よりå°ã•ã„値ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚dst- コピー先é…列- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
IndexOutOfBoundsException-indexãŒè² ã§ã‚ã‚‹ã‹ã€limit()よりå°ã•ããªã„ã‹ã€ã¾ãŸã¯limit() - index < dst.lengthã®å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 13
-
put
public DoubleBuffer put(DoubleBuffer src) 相対一括putメソッドã§ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€æŒ‡å®šã•れãŸã‚½ãƒ¼ã‚¹ãƒ»ãƒãƒƒãƒ•ã‚¡å†…ã«æ®‹ã£ã¦ã„ã‚‹doubleã‚’ã“ã®ãƒãƒƒãƒ•ã‚¡ã¸è»¢é€ã—ã¾ã™ã€‚ ソース・ãƒãƒƒãƒ•ã‚¡ã«ã€ã“ã®ãƒãƒƒãƒ•ァより多ãã®doubleãŒæ®‹ã£ã¦ã„ã‚‹å ´åˆã€ã¤ã¾ã‚Šã€
src.remaining()>remaining()ã®å ´åˆã€doubleã¯è»¢é€ã•れãšã€BufferOverflowExceptionãŒã‚¹ãƒãƒ¼ã•れã¾ã™ã€‚ãれ以外ã®å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€æŒ‡å®šã•れãŸãƒãƒƒãƒ•ã‚¡ã®n =
src.remaining()doublesã‚’ã€å„ãƒãƒƒãƒ•ã‚¡ã®ç¾åœ¨ã®ä½ç½®ã‹ã‚‰ã“ã®ãƒãƒƒãƒ•ã‚¡ã«ã‚³ãƒ”ーã—ã¾ã™ã€‚ ãã®ãŸã³ã«ã€ä¸¡æ–¹ã®ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ãŒnãšã¤å¢—åŠ ã—ã¾ã™ã€‚ã¤ã¾ã‚Šã€
dst.put(src)å½¢å¼ã®ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®å‘¼å‡ºã—ã¯ã€ãƒ«ãƒ¼ãƒ—ã¨ã¾ã£ãŸãåŒã˜åŠ¹æžœãŒã‚りã¾ã™ãŸã ã—ã€ã“ã®ãƒãƒƒãƒ•ァ内ã«å分ãªå®¹é‡ãŒã‚ã‚‹ã“ã¨ã‚’最åˆã«ç¢ºèªã™ã‚‹å‹•作ã¯é™¤ãã¾ã™ã€‚ã¾ãŸã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使用ã—ãŸã»ã†ãŒãƒ«ãƒ¼ãƒ—よりもã¯ã‚‹ã‹ã«åŠ¹çŽ‡çš„ã§ã™ã€‚ ã“ã®ãƒãƒƒãƒ•ã‚¡ã¨ã‚½ãƒ¼ã‚¹ãƒ»ãƒãƒƒãƒ•ã‚¡ãŒåŒã˜ãƒãƒƒã‚ングé…列ã¾ãŸã¯ãƒ¡ãƒ¢ãƒªãƒ¼ã‚’共有ã—ã¦ã„ã‚‹å ´åˆã€çµæžœã¯ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã«æ›¸ãè¾¼ã¾ã‚Œã‚‹å‰ã«ã‚½ãƒ¼ã‚¹è¦ç´ ãŒæœ€åˆã«ä¸é–“ã®ãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã«ã‚³ãƒ”ーã•れãŸã‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚while (src.hasRemaining()) dst.put(src.get());- パラメータ:
src- doubleã®èªè¾¼ã¿å…ˆã¨ãªã‚‹ã‚½ãƒ¼ã‚¹ãƒ»ãƒãƒƒãƒ•ã‚¡(ã“ã®ãƒãƒƒãƒ•ァ以外)- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
BufferOverflowException- ã“ã®ãƒãƒƒãƒ•ã‚¡ã«ã€ã‚½ãƒ¼ã‚¹ãƒ»ãƒãƒƒãƒ•ã‚¡ã®æ®‹ã‚Šã®doubleã‚’æ ¼ç´ã§ãã‚‹ã ã‘ã®å®¹é‡ãŒãªã„å ´åˆIllegalArgumentException- ソース・ãƒãƒƒãƒ•ã‚¡ã¨ã—ã¦ã“ã®ãƒãƒƒãƒ•ァを指定ã—ãŸå ´åˆReadOnlyBufferException- ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒèªè¾¼ã¿å°‚用ã§ã‚ã‚‹å ´åˆ
-
put
public DoubleBuffer put(int index, DoubleBuffer src, int offset, int length) (optional operation)ã®çµ¶å¯¾ä¸€æ‹¬putメソッド。ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ã‚½ãƒ¼ã‚¹ãƒ»ãƒãƒƒãƒ•ã‚¡å†…ã®æŒ‡å®šã•れãŸ
offsetãŠã‚ˆã³ã“ã®ãƒãƒƒãƒ•ã‚¡å†…ã®æŒ‡å®šã•れãŸindexã‹ã‚‰ã€æŒ‡å®šã•れãŸã‚½ãƒ¼ã‚¹ãƒ»ãƒãƒƒãƒ•ã‚¡ã«lengthdoubleを転é€ã—ã¾ã™ã€‚ 両方ã®ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã¯å¤‰æ›´ã•れã¾ã›ã‚“。ã¤ã¾ã‚Šã€
dst.put(index, src, offset, length)å½¢å¼ã®ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®å‘¼å‡ºã—ã¯ã€ãƒ«ãƒ¼ãƒ—ã¨ã¾ã£ãŸãåŒã˜åŠ¹æžœãŒã‚りã¾ã™æœ€åˆã«ã€æŒ‡å®šã•れãŸãƒ‘ラメータã®ä¸€è²«æ€§ã‚’ãƒã‚§ãƒƒã‚¯ã—ã€ã‚ˆã‚ŠåŠ¹çŽ‡çš„ã«ãªã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ã“ã¨ã‚’除ãã¾ã™ã€‚ ã“ã®ãƒãƒƒãƒ•ã‚¡ã¨ã‚½ãƒ¼ã‚¹ãƒ»ãƒãƒƒãƒ•ã‚¡ãŒåŒã˜ãƒãƒƒã‚ングé…列ã¾ãŸã¯ãƒ¡ãƒ¢ãƒªãƒ¼ã‚’共有ã—ã¦ã„ã‚‹å ´åˆã€çµæžœã¯ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã«æ›¸ãè¾¼ã¾ã‚Œã‚‹å‰ã«ã‚½ãƒ¼ã‚¹è¦ç´ ãŒæœ€åˆã«ä¸é–“ã®ãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã«ã‚³ãƒ”ーã•れãŸã‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚for (int i = offset, j = index; i < offset + length; i++, j++) dst.put(j, src.get(i));- パラメータ:
index- 最åˆã®doubleãŒæ›¸ãè¾¼ã¾ã‚Œã‚‹ã“ã®ãƒãƒƒãƒ•ァ内ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã€‚è² ã§ãªã„値ã‹ã¤limit()よりå°ã•ã„値ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚src- doubleã®èªå–り元ãƒãƒƒãƒ•ã‚¡offset- èªã¿è¾¼ã¾ã‚Œã‚‹æœ€åˆã®doubleã®ã‚½ãƒ¼ã‚¹ãƒ»ãƒãƒƒãƒ•ァ内ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã€‚è² ã§ã¯ãªãã€src.limit()よりå°ã•ã„値ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™length- 指定ã•れãŸãƒãƒƒãƒ•ã‚¡ã‹ã‚‰èªã¿å–られるdoubleã®æ•°ã€‚limit() - indexãŠã‚ˆã³src.limit() - offsetã®ã„ãšã‚Œã‹å°ã•ã„æ–¹ã‚ˆã‚Šå°ã•ãã€è² ã§ãªã„値ã«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
IndexOutOfBoundsException-indexã€offsetãŠã‚ˆã³lengthパラメータã®äº‹å‰æ¡ä»¶ãŒæº€ãŸã•れã¦ã„ãªã„å ´åˆã€ãã‚Œã‚‰ã‚’ä¿æŒã—ã¾ã›ã‚“ReadOnlyBufferException- ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒèªè¾¼ã¿å°‚用ã§ã‚ã‚‹å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 16
-
put
public DoubleBuffer put(double[] src, int offset, int length) 相対一括putメソッドã§ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€æŒ‡å®šã•れãŸã‚½ãƒ¼ã‚¹é…列ã‹ã‚‰ã“ã®ãƒãƒƒãƒ•ã‚¡ã¸doubleを転é€ã—ã¾ã™ã€‚ é…列ã‹ã‚‰ã‚³ãƒ”ーã™ã‚‹doublesãŒã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã«æ®‹ã‚‰ãªã„å ´åˆã€ã¤ã¾ã‚Šã€
length>remaining()ã®å ´åˆã€doubleã¯è»¢é€ã•れãšã€BufferOverflowExceptionãŒã‚¹ãƒãƒ¼ã•れã¾ã™ã€‚ãれ以外ã®å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€æŒ‡å®šã•れãŸé…列ã‹ã‚‰ã“ã®ãƒãƒƒãƒ•ã‚¡ã«
lengthdoublesをコピーã—ã¾ã™ã€‚ã“れã¯ã€é…åˆ—å†…ã®æŒ‡å®šã•れãŸã‚ªãƒ•セットã‹ã‚‰ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ç¾åœ¨ã®ä½ç½®ã§å§‹ã¾ã‚Šã¾ã™ã€‚ ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã¯ã€lengthã«ã‚ˆã£ã¦å¢—分ã•れã¾ã™ã€‚ã¤ã¾ã‚Šã€
dst.put(src, off, len)å½¢å¼ã®ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®å‘¼å‡ºã—ã¯ã€ãƒ«ãƒ¼ãƒ—ã¨ã¾ã£ãŸãåŒã˜åŠ¹æžœãŒã‚りã¾ã™ãŸã ã—ã€ã“ã®ãƒãƒƒãƒ•ァ内ã«å分ãªå®¹é‡ãŒã‚ã‚‹ã“ã¨ã‚’最åˆã«ç¢ºèªã™ã‚‹å‹•作ã¯é™¤ãã¾ã™ã€‚ã¾ãŸã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使用ã—ãŸã»ã†ãŒãƒ«ãƒ¼ãƒ—よりもã¯ã‚‹ã‹ã«åŠ¹çŽ‡çš„ã§ã™ã€‚for (int i = off; i < off + len; i++) dst.put(src[i]);- パラメータ:
src- double値ã®èªè¾¼ã¿å…ˆã¨ãªã‚‹é…列offset- 最åˆã«èªã¿è¾¼ã‚€doubleã®é…列内ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã€‚è² ä»¥å¤–ã§ã€src.length以外ã®å€¤ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚length- 指定ã•れãŸé…列ã‹ã‚‰èªã¿å–られるdoubleåž‹ã®æ•°ã€‚è² ã§ãªã„ã‹ã€src.length - offsetより大ãã„å¿…è¦ãŒã‚りã¾ã™- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
BufferOverflowException- ã“ã®ãƒãƒƒãƒ•ã‚¡å†…ã«æ®‹ã£ã¦ã„る容é‡ãŒä¸è¶³ã—ã¦ã„ã‚‹å ´åˆIndexOutOfBoundsException-offsetパラメータã¨lengthパラメータã®å‰ææ¡ä»¶ãŒæº€ãŸã•れã¦ã„ãªã„å ´åˆReadOnlyBufferException- ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒèªè¾¼ã¿å°‚用ã§ã‚ã‚‹å ´åˆ
-
put
public final DoubleBuffer put(double[] src) 相対一括putメソッドã§ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ã‚½ãƒ¼ã‚¹ã¨ãªã‚‹æŒ‡å®šã•れãŸdoubleé…列ã®å†…容全体をã“ã®ãƒãƒƒãƒ•ã‚¡ã¸è»¢é€ã—ã¾ã™ã€‚
dst.put(a)å½¢å¼ã®ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®èµ·å‹•ã¯ã€èµ·å‹•ã¨ã¾ã£ãŸãåŒã˜ã‚ˆã†ã«å‹•作dst.put(a, 0, a.length)- パラメータ:
src- 転é€å…ƒé…列- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
BufferOverflowException- ã“ã®ãƒãƒƒãƒ•ã‚¡å†…ã«æ®‹ã£ã¦ã„る容é‡ãŒä¸è¶³ã—ã¦ã„ã‚‹å ´åˆReadOnlyBufferException- ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒèªè¾¼ã¿å°‚用ã§ã‚ã‚‹å ´åˆ
-
put
public DoubleBuffer put(int index, double[] src, int offset, int length) (optional operation)ã®çµ¶å¯¾ä¸€æ‹¬putメソッド。ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€é…åˆ—å†…ã®æŒ‡å®šã•れãŸã‚ªãƒ•セットã‹ã‚‰é–‹å§‹ã—ã€ã“ã®ãƒãƒƒãƒ•ã‚¡å†…ã®æŒ‡å®šã•れãŸç´¢å¼•ã‹ã‚‰
lengthã‚’åŒæ–¹å‘ã«è»¢é€ã—ã¾ã™ã€‚ ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã¯å¤‰ã‚りã¾ã›ã‚“。フォーãƒ
dst.put(index, src, offset, length)ã®ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’èµ·å‹•ã—ã¦ã‚‚ã€æ¬¡ã®ãƒ«ãƒ¼ãƒ—ã¨ã¾ã£ãŸãåŒã˜åŠ¹æžœãŒã‚りã¾ã™ã€‚ãŸã ã—ã€æœ€åˆã«æä¾›ã•れãŸãƒ‘ラメータã®ä¸€è²«æ€§ãŒãƒã‚§ãƒƒã‚¯ã•れã€ãれãŒã•らã«åŠ¹çŽ‡çš„ã§ã‚ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™:for (int i = offset, j = index; i < offset + length; i++, j++) dst.put(j, src[i]);- パラメータ:
index- 最åˆã®doubleãŒæ›¸ãè¾¼ã¾ã‚Œã‚‹ã“ã®ãƒãƒƒãƒ•ァ内ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã€‚è² ã§ãªã„値ã‹ã¤limit()よりå°ã•ã„値ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚src- double値ã®èªè¾¼ã¿å…ˆã¨ãªã‚‹é…列offset- 最åˆã«èªã¿è¾¼ã¾ã‚Œã‚‹doubleã®é…列内ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã€‚è² ã§ãªã„値ã‹ã¤src.lengthよりå°ã•ã„値ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚length- 特定ã®é…列ã‹ã‚‰èªã¿å–られるdoubleå€¤ã®æ•°ã€‚limit() - indexãŠã‚ˆã³src.length - offsetã®å°ã•ã„値以下ã®å€¤ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
IndexOutOfBoundsException-indexã€offsetãŠã‚ˆã³lengthパラメータã®äº‹å‰æ¡ä»¶ãŒæº€ãŸã•れã¦ã„ãªã„å ´åˆã€ãã‚Œã‚‰ã‚’ä¿æŒã—ã¾ã›ã‚“ReadOnlyBufferException- ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒèªè¾¼ã¿å°‚用ã§ã‚ã‚‹å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 13
-
put
public DoubleBuffer put(int index, double[] src) (optional operation)ã®çµ¶å¯¾ä¸€æ‹¬putメソッド。ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€æŒ‡å®šã•れãŸã‚½ãƒ¼ã‚¹é…列ã‹ã‚‰ã“ã®ãƒãƒƒãƒ•ã‚¡ã«ã‚³ãƒ”ーã—ã¾ã™ã€‚ ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã¯å¤‰ã‚りã¾ã›ã‚“。 フォーãƒ
dst.put(index, src)ã®ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®èµ·å‹•ã¯ã€èµ·å‹•ã¨ã¾ã£ãŸãåŒã˜æ–¹æ³•ã§å‹•作ã—ã¾ã™:dst.put(index, src, 0, src.length);- パラメータ:
index- 最åˆã®doubleãŒæ›¸ãè¾¼ã¾ã‚Œã‚‹ã“ã®ãƒãƒƒãƒ•ァ内ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã€‚è² ã§ãªã„値ã‹ã¤limit()よりå°ã•ã„値ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚src- double値ã®èªè¾¼ã¿å…ˆã¨ãªã‚‹é…列- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
IndexOutOfBoundsException-indexãŒè² ã§ã‚ã‚‹ã‹ã€limit()よりå°ã•ããªã„ã‹ã€ã¾ãŸã¯limit() - index < src.lengthã®å ´åˆReadOnlyBufferException- ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒèªè¾¼ã¿å°‚用ã§ã‚ã‚‹å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 13
-
hasArray
public final boolean hasArray()ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ãªdoubleé…列ã«é€£å‹•ã™ã‚‹ã‹ã©ã†ã‹ã‚’判æ–ã—ã¾ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ãŒ
trueã‚’è¿”ã™å ´åˆã€arrayãŠã‚ˆã³arrayOffsetメソッドを安全ã«èµ·å‹•ã§ãã¾ã™ã€‚ -
array
public final double[] array()ã“ã®ãƒãƒƒãƒ•ァを補助ã™ã‚‹doubleé…列を返ã—ã¾ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。ã“ã®ãƒãƒƒãƒ•ã‚¡ã®å†…容ã«å¤‰æ›´ã‚’åŠ ãˆã‚‹ã¨ã€è¿”ã•れるé…列ã®å†…容も変更ã•れã¾ã™ã€‚ãã®é€†ã‚‚åŒæ§˜ã§ã™ã€‚
ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™å‰ã«
hasArrayメソッドを呼ã³å‡ºã—ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ãªè£œåŠ©é…列をæŒã£ã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¾ã™ã€‚- 定義:
arrayã€ã‚¯ãƒ©ã‚¹Buffer- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ァを補助ã™ã‚‹é…列
- スãƒãƒ¼:
ReadOnlyBufferException- ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒé…列ã«é€£å‹•ã—ã¦ãŠã‚Šã€ã—ã‹ã‚‚èªè¾¼ã¿å°‚用ã§ã‚ã‚‹å ´åˆUnsupportedOperationException- ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ãªé…列を利用ã—ãªã„å ´åˆ
-
arrayOffset
public final int arrayOffset()ã“ã®ãƒãƒƒãƒ•ã‚¡ã®è£œåŠ©é…列内ã«ã‚ã‚‹ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã®æœ€åˆã®è¦ç´ ã®ã‚ªãƒ•セットを返ã—ã¾ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒé…列ã«ã‚ˆã£ã¦ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã•ã‚Œã‚‹å ´åˆã€ãƒãƒƒãƒ•ã‚¡ä½ç½®pã¯é…列索引p +
arrayOffset()ã«å¯¾å¿œã—ã¾ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™å‰ã«
hasArrayメソッドを呼ã³å‡ºã—ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ãªè£œåŠ©é…列をæŒã£ã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¾ã™ã€‚- 定義:
arrayOffsetã€ã‚¯ãƒ©ã‚¹Buffer- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡ã®é…列内ã«ã‚ã‚‹ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã®æœ€åˆã®è¦ç´ ã®ã‚ªãƒ•セット
- スãƒãƒ¼:
ReadOnlyBufferException- ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒé…列ã«é€£å‹•ã—ã¦ãŠã‚Šã€ã—ã‹ã‚‚èªè¾¼ã¿å°‚用ã§ã‚ã‚‹å ´åˆUnsupportedOperationException- ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ãªé…列を利用ã—ãªã„å ´åˆ
-
position
public final DoubleBuffer position(int newPosition) ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã‚’è¨å®šã—ã¾ã™ã€‚ æ–°ã—ã„ä½ç½®ã®å€¤ã‚ˆã‚Šã‚‚マークã®å€¤ã®ã»ã†ãŒå¤§ãã„å ´åˆã€ãƒžãƒ¼ã‚¯ã®å®šç¾©ã¯ç ´æ£„ã•れã¾ã™ã€‚ -
limit
public final DoubleBuffer limit(int newLimit) ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ãƒªãƒŸãƒƒãƒˆã‚’è¨å®šã—ã¾ã™ã€‚ ä½ç½®ã®å€¤ãŒæ–°ã—ã„リミットより大ãã„å ´åˆã€ãƒªãƒŸãƒƒãƒˆã¨åŒã˜å€¤ã«å¤‰æ›´ã•れã¾ã™ã€‚ マークã®å€¤ãŒæ–°ã—ã„リミットより大ãã„å ´åˆã€ãƒžãƒ¼ã‚¯ã®å®šç¾©ã¯ç ´æ£„ã•れã¾ã™ã€‚ -
mark
public final DoubleBuffer mark()ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ç¾åœ¨ä½ç½®ã«ãƒžãƒ¼ã‚¯ã‚’è¨å®šã—ã¾ã™ã€‚ -
reset
public final DoubleBuffer reset()ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã‚’以å‰ã«ãƒžãƒ¼ã‚¯ã—ãŸä½ç½®ã«æˆ»ã—ã¾ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã—ã¦ã‚‚ã€ãƒžãƒ¼ã‚¯ã®å€¤ã¯å¤‰æ›´ã•れã¾ã›ã‚“。マークãŒç ´æ£„ã•れるã“ã¨ã‚‚ã‚りã¾ã›ã‚“。
-
clear
public final DoubleBuffer clear()ã“ã®ãƒãƒƒãƒ•ァをクリアã—ã¾ã™ã€‚ ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã¯ã‚¼ãƒã€ãƒªãƒŸãƒƒãƒˆã¯å®¹é‡ã®å€¤ã«è¨å®šã•れã¾ã™ã€‚マークã¯ç ´æ£„ã•れã¾ã™ã€‚一連ã®ãƒãƒ£ãƒãƒ«èªè¾¼ã¿æ“作ã¾ãŸã¯ã€Œputã€æ“作を使用ã—ã¦ã“ã®ãƒãƒƒãƒ•ã‚¡ã«ãƒ‡ãƒ¼ã‚¿ã‚’æ ¼ç´ã™ã‚‹å‰ã«ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã—ã¾ã™ã€‚ ãŸã¨ãˆã°ã€
buf.clear(); // Prepare buffer for reading in.read(buf); // Read dataã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ãƒãƒƒãƒ•ァ内ã®ãƒ‡ãƒ¼ã‚¿ã‚’å®Ÿéš›ã«æ¶ˆåŽ»ã™ã‚‹ã‚ã‘ã§ã¯ã‚りã¾ã›ã‚“。ã—ã‹ã—ã€ãã†ã—ãŸçжæ³ã§ä½¿ç”¨ã•れるãŸã‚ã€ã‚¯ãƒªã‚¢ã¨å‘½åã•れã¦ã„ã¾ã™ã€‚
-
flip
public final DoubleBuffer flip()ã“ã®ãƒãƒƒãƒ•ァをフリップ(å転)ã—ã¾ã™ã€‚ リミットã¯ç¾åœ¨ä½ç½®ã®å€¤ã«è¨å®šã•れã€ç¾åœ¨ä½ç½®ã‚’表ã™å€¤ã¯ã‚¼ãƒã«è¨å®šã•れã¾ã™ã€‚ マークãŒå®šç¾©ã•れã¦ã„ã‚‹å ´åˆã€ãã®ãƒžãƒ¼ã‚¯ã¯ç ´æ£„ã•れã¾ã™ã€‚一連ã®ãƒãƒ£ãƒãƒ«èªè¾¼ã¿æ“作(put)ã®ã‚ã¨ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã—ã¦ãƒãƒ£ãƒãƒ«æ›¸è¾¼ã¿æ“作(相対「getã€)ã®æº–備を行ã„ã¾ã™ã€‚ ãŸã¨ãˆã°ã€
buf.put(magic); // Prepend header in.read(buf); // Read data into rest of buffer buf.flip(); // Flip buffer out.write(buf); // Write header + data to channelã‚ã‚‹å ´æ‰€ã‹ã‚‰åˆ¥ã®å ´æ‰€ã«ãƒ‡ãƒ¼ã‚¿ã‚’転é€ã™ã‚‹éš›ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’
compactメソッドã¨çµ„ã¿åˆã‚ã›ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚ -
rewind
public final DoubleBuffer rewind()ã“ã®ãƒãƒƒãƒ•ァをリワインド(å·»ãæˆ»ã—)ã—ã¾ã™ã€‚ ä½ç½®ã¯ã‚¼ãƒã«è¨å®šã•れã€ãƒžãƒ¼ã‚¯ã¯ç ´æ£„ã•れã¾ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ãƒªãƒŸãƒƒãƒˆã‚’æ£ã—ãè¨å®šã—ãŸã‚ã¨ã€ä¸€é€£ã®ãƒãƒ£ãƒãƒ«æ›¸è¾¼ã¿æ“作(get)ã®å‰ã«å‘¼ã³å‡ºã—ã¾ã™ã€‚ ãŸã¨ãˆã°ã€
out.write(buf); // Write remaining data buf.rewind(); // Rewind buffer buf.get(array); // Copy data into array -
compact
public abstract DoubleBuffer compact()ã“ã®ãƒãƒƒãƒ•ァを圧縮ã—ã¾ã™ (ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æ“作)。ãƒãƒƒãƒ•ã‚¡ã®ç¾åœ¨ä½ç½®ã‹ã‚‰ãƒªãƒŸãƒƒãƒˆã¾ã§ã®é–“ã«doubleãŒå˜åœ¨ã™ã‚‹å ´åˆã€ã“れらをãƒãƒƒãƒ•ã‚¡ã®å…ˆé ã«ã‚³ãƒ”ーã—ã¾ã™ã€‚ ã¤ã¾ã‚Šã€ç´¢å¼•p =
position()ã®doubleã¯ç´¢å¼•0ã«ã‚³ãƒ”ーã•れã€ç´¢å¼•p + 1ã®doubleã¯ç´¢å¼•1ã«ã‚³ãƒ”ーã•れã€ç´¢å¼•limit()ã®doubleã¾ã§ã‚³ãƒ”ーã•れã¾ã™-1ãŒç´¢å¼•n =limit()ã«ã‚³ãƒ”ーã•れã¾ã™-1-p. 最終的ã«ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã¯n+1ã«è¨å®šã•れã€ãƒªãƒŸãƒƒãƒˆã¯å®¹é‡ã®å€¤ã¨ç‰ã—ããªã‚Šã¾ã™ã€‚ マークã¯ç ´æ£„ã•れã¾ã™ã€‚ãƒãƒƒãƒ•ã‚¡ã®ä½ç½®ã¯ã€ã‚¼ãƒã§ã¯ãªãã€ã‚³ãƒ”ーã•れるdoubleã®æ•°ã¨ç‰ã—ããªã‚Šã¾ã™ã€‚ã—ãŸãŒã£ã¦ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã—ãŸã‚ã¨ã€ã™ãã«åˆ¥ã®ç›¸å¯¾ã€Œputã€ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™ã“ã¨ãŒã§ãã¾ã™ã€‚
- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡
- スãƒãƒ¼:
ReadOnlyBufferException- ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒèªè¾¼ã¿å°‚用ã§ã‚ã‚‹å ´åˆ
-
isDirect
-
toString
-
hashCode
public int hashCode()ã“ã®ãƒãƒƒãƒ•ã‚¡ã®ç¾åœ¨ã®ãƒãƒƒã‚·ãƒ¥ãƒ»ã‚³ãƒ¼ãƒ‰ã‚’è¿”ã—ã¾ã™ã€‚doubleãƒãƒƒãƒ•ã‚¡ã®ãƒãƒƒã‚·ãƒ¥ãƒ»ã‚³ãƒ¼ãƒ‰ã¯ã€æ®‹ã‚Šã®è¦ç´ ã«ã®ã¿ä¾å˜ã—ã¾ã™ã€‚ã¤ã¾ã‚Šã€
position()ã®è¦ç´ ã‹ã‚‰limit()ã®è¦ç´ ã¾ã§ã®è¦ç´ ã€ãŠã‚ˆã³ãれã«å«ã¾ã‚Œã‚‹è¦ç´ ã«ã‚ˆã£ã¦æ±ºã¾ã‚Šã¾ã™-1。ãƒãƒƒãƒ•ã‚¡ã®ãƒãƒƒã‚·ãƒ¥ãƒ»ã‚³ãƒ¼ãƒ‰ã¯å†…容ä¾å˜åž‹ã§ã™ã€‚今後ãƒãƒƒãƒ•ã‚¡ã®å†…容ãŒå¤‰æ›´ã•れãªã„ã“ã¨ãŒæ˜Žã‚‰ã‹ã§ãªã„ã‹ãŽã‚Šã€ãƒãƒƒãƒ•ã‚¡ã‚’ãƒãƒƒã‚·ãƒ¥ãƒ»ãƒžãƒƒãƒ—ãã®ä»–ã®ãƒ‡ãƒ¼ã‚¿æ§‹é€ ã®ã‚ーã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯é¿ã‘ã¦ãã ã•ã„。
-
equals
public boolean equals(Object ob) ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒåˆ¥ã®ã‚ªãƒ–ジェクトã¨ç‰ä¾¡ã§ã‚ã‚‹ã‹ã©ã†ã‹ã‚’判æ–ã—ã¾ã™ã€‚2ã¤ã®doubleãƒãƒƒãƒ•ã‚¡ã¯ã€æ¬¡ã®å ´åˆã«ã‹ãŽã‚Šç‰ä¾¡ã§ã™ã€‚
è¦ç´ ã®åž‹ãŒåŒã˜ã§ã‚ã‚‹
ãƒãƒƒãƒ•ã‚¡å†…ã«æ®‹ã£ã¦ã„ã‚‹è¦ç´ æ•°ãŒåŒã˜ã§ã‚ã‚‹
ãƒãƒƒãƒ•ã‚¡å†…ã«æ®‹ã£ã¦ã„ã‚‹è¦ç´ ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹(é–‹å§‹ä½ç½®ã¨ã¯ç„¡é–¢ä¿‚)ãŒå„点ã§ç‰ã—ã„(pointwise equal)
(a == b)||(Double.isNaN(a)&& Double.isNaN(b))ã®å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã§ã¯2ã¤ã®doubleè¦ç´aã¨bã¯ç‰ä¾¡ã¨ã¿ãªã•れã¾ã™ã€‚Double.equals(Object)ã¨ã¯ç•°ãªã‚Šã€å€¤-0.0ã¨+0.0ã¯ç‰ä¾¡ã¨ã¿ãªã•れã¾ã™ã€‚
doubleãƒãƒƒãƒ•ã‚¡ãŒã€ãã®ä»–ã®åž‹ã®ã‚ªãƒ–ジェクトã¨ç‰ä¾¡ã«ãªã‚‹ã“ã¨ã¯ã‚りã¾ã›ã‚“。
-
compareTo
public int compareTo(DoubleBuffer that) ã“ã®ãƒãƒƒãƒ•ァを別ã®ãƒãƒƒãƒ•ã‚¡ã¨æ¯”較ã—ã¾ã™ã€‚2ã¤ã®doubleãƒãƒƒãƒ•ァを比較ã™ã‚‹éš›ã¯ã€ãƒãƒƒãƒ•ã‚¡å†…ã«æ®‹ã£ã¦ã„ã‚‹è¦ç´ ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ãŒè¾žæ›¸é †ã«æ¯”較ã•れã¾ã™ã€‚ã“ã®ã¨ãã€åŒæ–¹ã®ãƒãƒƒãƒ•ã‚¡å†…ã«æ®‹ã£ã¦ã„るシーケンスã®é–‹å§‹ä½ç½®ã¯è€ƒæ…®ã•れã¾ã›ã‚“。
doubleè¦ç´ ã®ãƒšã‚¢ã¯ã€Double.compare(double,double)を呼ã³å‡ºã™ã“ã¨ã«ã‚ˆã£ã¦æ¯”較ã•れã¾ã™ã€‚ãŸã ã—ã€-0.0ã¨0.0ã¯ç‰ä¾¡ã¨è¦‹ãªã•れã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã§ã¯ã€Double.NaNã¯è‡ªèº«ã«ç‰ã—ãã€ã»ã‹ã®ã™ã¹ã¦ã®double値(Double.POSITIVE_INFINITYã‚’å«ã‚€)よりも大ãã„ã¨ã¿ãªã•れる。doubleãƒãƒƒãƒ•ã‚¡ã¨ãã®ä»–ã®åž‹ã®ã‚ªãƒ–ジェクトを比較ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
- 定義:
compareToã€ã‚¤ãƒ³ã‚¿ãƒ•ェースComparable<DoubleBuffer>- パラメータ:
that- 比較対象ã®ã‚ªãƒ–ジェクト。- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡ãŒæŒ‡å®šã•れãŸãƒãƒƒãƒ•ァよりå°ã•ã„å ´åˆã¯è² ã®æ•´æ•°ã€ç‰ã—ã„å ´åˆã¯ã‚¼ãƒã€å¤§ãã„å ´åˆã¯æ£ã®æ•´æ•°
-
mismatch
public int mismatch(DoubleBuffer that) ã“ã®ãƒãƒƒãƒ•ã‚¡ã¨æŒ‡å®šã•れãŸãƒãƒƒãƒ•ã‚¡ã®æœ€åˆã®ä¸ä¸€è‡´ã®ç›¸å¯¾ç´¢å¼•を検索ã—ã¦æˆ»ã—ã¾ã™ã€‚ インデックスã¯å„ãƒãƒƒãƒ•ã‚¡ã®positionã«ç›¸å¯¾çš„ã§ã‚りã€0 (包å«)ã‹ã‚‰å„ãƒãƒƒãƒ•ã‚¡ã®remainingã®è¦ç´ (除外)ã¾ã§ç¯„囲ã«ãªã‚Šã¾ã™ã€‚2ã¤ã®ãƒãƒƒãƒ•ã‚¡ãŒå…±é€šãƒ—レフィクスを共有ã—ã¦ã„ã‚‹å ´åˆã€æˆ»ã•れる索引ã¯å…±é€šãƒ—レフィクスã®é•·ã•ã¨ãªã‚Šã€å„ãƒãƒƒãƒ•ァ内ã®ãã®ç´¢å¼•ã®2ã¤ã®ãƒãƒƒãƒ•ã‚¡é–“ã«ä¸ä¸€è‡´ãŒã‚ã‚‹ã“ã¨ã«å¾“ã„ã¾ã™ã€‚ 一方ã®ãƒãƒƒãƒ•ã‚¡ãŒã‚‚ã†ä¸€æ–¹ã®ãƒãƒƒãƒ•ã‚¡ã®ãƒ—レフィクスã§ã‚ã‚‹å ´åˆã€æˆ»ã•れãŸç´¢å¼•ã¯å„ãƒãƒƒãƒ•ã‚¡å†…ã®æ®‹ã‚Šã®è¦ç´ ã®å°ã•ã„æ–¹ã«ãªã‚Šã€æ®‹ã‚Šã®è¦ç´ ã®æ•°ãŒå¤šã„ãƒãƒƒãƒ•ã‚¡ã«å¯¾ã—ã¦ã®ã¿ç´¢å¼•ãŒæœ‰åйã«ãªã‚Šã¾ã™ã€‚ ãれ以外ã®å ´åˆã¯ã€ä¸ä¸€è‡´ã¯ã‚りã¾ã›ã‚“。
- パラメータ:
that- ã“ã®ãƒãƒƒãƒ•ã‚¡ã¨ä¸ä¸€è‡´ã‚’テストã™ã‚‹ãŸã‚ã®ãƒã‚¤ãƒˆãƒ»ãƒãƒƒãƒ•ã‚¡- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡ã¨æŒ‡å®šã•れãŸãƒãƒƒãƒ•ã‚¡ã®æœ€åˆã®ä¸ä¸€è‡´ã®ç›¸å¯¾ç´¢å¼•ã§ã™ã€‚一致ã—ãªã„å ´åˆã¯ -1ã§ã™ã€‚
- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 11
-
order
public abstract ByteOrder order()ã“ã®ãƒãƒƒãƒ•ã‚¡ã®byteé †åºã‚’å–å¾—ã—ã¾ã™ã€‚割当ã¦ã¾ãŸã¯æ—¢å˜ã®
doubleé…列ã®ãƒ©ãƒƒãƒ—ã«ã‚ˆã£ã¦ä½œæˆã•れるdoubleãƒãƒƒãƒ•ã‚¡ã®ãƒã‚¤ãƒˆé †åºã¯ã€åŸºç¤Žã¨ãªã‚‹ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã®native orderã§ã™ã€‚ byteãƒãƒƒãƒ•ã‚¡ã®ãƒ“ューã¨ã—ã¦ä½œæˆã•れãŸdoubleãƒãƒƒãƒ•ã‚¡ã®byteé †åºã¯ã€ãƒ“ューを作æˆã—ãŸæ™‚点ã®byteãƒãƒƒãƒ•ã‚¡ã®byteé †åºã¨åŒã˜ã«ãªã‚Šã¾ã™ã€‚- 戻り値:
- ã“ã®ãƒãƒƒãƒ•ã‚¡ã®byteé †åº
-