基于IntBuffer類的基本用法(詳解)
更新時(shí)間:2017年05月26日 08:42:41 投稿:jingxian
下面小編就為大家?guī)?lái)一篇基于IntBuffer類的基本用法(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
廢話不多說(shuō),直接上代碼
package com.ietree.basicskill.socket.basic.nio; import java.nio.IntBuffer; /** * Created by Administrator on 2017/5/25. */ public class BufferTest { public static void main(String[] args) { // 1 基本操作 /*//創(chuàng)建指定長(zhǎng)度的緩沖區(qū) IntBuffer buf = IntBuffer.allocate(10); buf.put(13);// position位置:0 - > 1 buf.put(21);// position位置:1 - > 2 buf.put(35);// position位置:2 - > 3 //把位置復(fù)位為0,也就是position位置:3 - > 0 buf.flip(); System.out.println("使用flip復(fù)位:" + buf); System.out.println("容量為: " + buf.capacity()); //容量一旦初始化后不允許改變(warp方法包裹數(shù)組除外) System.out.println("限制為: " + buf.limit()); //由于只裝載了三個(gè)元素,所以可讀取或者操作的元素為3 則limit=3 System.out.println("獲取下標(biāo)為1的元素:" + buf.get(1)); System.out.println("get(index)方法,position位置不改變:" + buf); buf.put(1, 4); System.out.println("put(index, change)方法,position位置不變:" + buf);; for (int i = 0; i < buf.limit(); i++) { //調(diào)用get方法會(huì)使其緩沖區(qū)位置(position)向后遞增一位 System.out.print(buf.get() + "\t"); } System.out.println("buf對(duì)象遍歷之后為: " + buf);*/ // 2 wrap方法使用 // wrap方法會(huì)包裹一個(gè)數(shù)組: 一般這種用法不會(huì)先初始化緩存對(duì)象的長(zhǎng)度,因?yàn)闆](méi)有意義,最后還會(huì)被wrap所包裹的數(shù)組覆蓋掉。 // 并且wrap方法修改緩沖區(qū)對(duì)象的時(shí)候,數(shù)組本身也會(huì)跟著發(fā)生變化。 /*int[] arr = new int[]{1,2,5}; IntBuffer buf1 = IntBuffer.wrap(arr); System.out.println(buf1); IntBuffer buf2 = IntBuffer.wrap(arr, 0 , 2); //這樣使用表示容量為數(shù)組arr的長(zhǎng)度,但是可操作的元素只有實(shí)際進(jìn)入緩存區(qū)的元素長(zhǎng)度 System.out.println(buf2);*/ // 3 其他方法 IntBuffer buf1 = IntBuffer.allocate(10); int[] arr = new int[]{1,2,5}; buf1.put(arr); System.out.println(buf1); //一種復(fù)制方法 IntBuffer buf3 = buf1.duplicate(); System.out.println(buf3); //設(shè)置buf1的位置屬性 //buf1.position(0); buf1.flip(); System.out.println(buf1); System.out.println("可讀數(shù)據(jù)為:" + buf1.remaining()); int[] arr2 = new int[buf1.remaining()]; //將緩沖區(qū)數(shù)據(jù)放入arr2數(shù)組中去 buf1.get(arr2); for(int i : arr2){ System.out.print(Integer.toString(i) + ","); } } }
以上這篇基于IntBuffer類的基本用法(詳解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關(guān)文章
Java將字符串轉(zhuǎn)化為數(shù)組的兩種方法
Java中的String類是一種特殊的字符串,它可以被用于處理字符串,Java中的String類也可以將字符串轉(zhuǎn)換為數(shù)組,下面這篇文章主要給大家介紹了關(guān)于Java將字符串轉(zhuǎn)化為數(shù)組的兩種方法,需要的朋友可以參考下2023-05-05java線程之用Thread類創(chuàng)建線程的方法
本篇文章介紹了,Thread類創(chuàng)建線程的方法。需要的朋友參考下2013-05-05springboot + mybatis-plus實(shí)現(xiàn)多表聯(lián)合查詢功能(注解方式)
這篇文章主要介紹了springboot + mybatis-plus實(shí)現(xiàn)多表聯(lián)合查詢功能,是最簡(jiǎn)單的一種注解方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09java操作mongodb實(shí)現(xiàn)CURD功能實(shí)例
mongodb支持多種語(yǔ)言,并且提供了多種語(yǔ)言的驅(qū)動(dòng),本文使用java操作mongodb實(shí)現(xiàn)CURD功能,大家參考使用吧2013-12-12如何創(chuàng)建SpringBoot項(xiàng)目
這篇文章主要介紹了如何創(chuàng)建SpringBoot項(xiàng)目,幫助大家更好的學(xué)習(xí)和使用springboot框架,感興趣的朋友可以了解下2021-01-01Java 比較接口comparable與comparator區(qū)別解析
這篇文章主要介紹了Java 比較接口comparable與comparator區(qū)別解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10