这是我写的一个方法,希望可以帮到你
class Test
{
public static void main(String[] args)
{
//创建数组.
byte[] arr = {4,2,4,6,1,2,4,7,8};
//调用方法.
byte[] by = single(arr);
for (int x=0;x<by.length ;x++ )
{
//由于将byte变成字符,再由字符变成byte,在ASCII中对应的值加了48;
//所以要减去48,(对应的ASCII中字符是'0');
System.out.print(by[x]-'0');
}
}
public static byte[] single(byte[] arr)
{
//定义一个容器
StringBuilder sb = new StringBuilder();
//遍历给定的数组
for(int x=0;x<arr.length;x++)
{
//将sb变成字符串
String string = sb.toString();
//将得到的数组元素变成字符串
String str = Byte.toString(arr[x]);
//如果sb所在的字符串不包含遍历到的元素,就往容器sb里面添加.
if(!(string.contains(str)))
sb.append(arr[x]);
}
//将容器中的元素变成String,再调用String类变成byte数组的方法
byte[] by = sb.toString().getBytes();
//返回得到的数组.
return by;
}
}
|