取出Set中的byte数组的值以及判断byte数组是否为空

来源:互联网 发布:智多星软件多少钱一年 编辑:程序博客网 时间:2024/05/19 17:25

1.使用两个for(:)语句,具体不懂:的使用的可以查阅我之前的关于Collection的说明

byte[] mbyte={1,2,3,3,4};        byte[] mbyte2={2,5,7,3,4};        byte[] mbyte3={1,5,2,4,2};        Set<byte[]> mbytes=new HashSet();        mbytes.add(mbyte);        mbytes.add(mbyte2);        mbytes.add(mbyte3);        for(byte[] a:mbytes){//第一层循环取出byte数组            for(byte b:a){//第二层循环从数组中取出byte的值                System.out.print(b);            }            System.out.println();        }

2.判断Set中的byte数组是否为空

//判断方法,传递一个byte数组进来,如果为空则返回true.否则返回falsepublic static boolean isNull(byte[] bs){        if(bs.length==0||bs==null){//根据byte数组长度为0判断            return true;        }        return false;    }//再上一个步骤说的双从循环中判断for(byte[] a:mbytes){//第一层循环取出byte数组            if(isNull(a))            {            System.out.println("byte数组为空");            }        }   

3.网上还有使用迭代器进行取值的(我在网上copy过来的一小段代码)

Set<Object> set = new HashSet<Object>();Iterator<Object> it = set.iterator();while(it.hasNext())//判断是否有下一个it.next()//取出元素

4.还有一个在Set中的byte数组有限情况下取值的办法,这里假如有3个byte数组

byte[] mbyte={1,2,3,3,4};        byte[] mbyte2={2,5,7,3,4};        byte[] mbyte3={1,5,2,4,2};Set<byte[]> mbytes=new HashSet();        mbytes.add(mbyte);        mbytes.add(mbyte2);        mbytes.add(mbyte3);//首先初始化3个byte数组。后面一定要加上{}        byte[] bs1={};        byte[] bs2={};        byte[] bs3={};//利用赋值过后的byte数组长度不为0来进行赋值        for(byte[] bs:mbytes){            if(bs1.length==0){                bs1=bs;            }else if(bs2.length==0)            {                bs2=bs;            }else{                bs3=bs;            }        }