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.否则返回false
public 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;
}
}