java array方法_java基础知识4--数组的常用方法(Array)

/*1.定义数组,必须规定数组的大小,优点:查询效率高*/

//Arrays.fill(数组名,值)主要是将数组中每个元素赋予相同的值,//该方法通过各种重载形式可完成任意类型的数组元素的替换

String[] s1 = new String[4];

Arrays.fill(s1,"wyy");for(String s : s1

) {

System.out.println(s);

}

String s2[]= {"wyy", "wzz", "wxx"};

System.out.println(Arrays.toString(s2));//注意:直接输出s2只能得到数组的地址引用

String[] s3= new String[]{"zyy", "zxx", "zww"};

System.out.println(Arrays.toString(s3));//将字符串数组转化为字符串

int[] s5 = new int[]{7, 3, 2, 8, 9};

2.将数组转化为集合(set,list)

(1)转化为list

/*2.将数组转化为ArrayList Arrays.asList(数组)*/List list = new ArrayList<>(Arrays.asList(s2));

list.add("whh");

System.out.println("ArrayList是否包含:" + list.contains("whh"));

(2)转化为set

Set set = new HashSet<>(Arrays.asList(s2));

System.out.println("集合set是否包含:" + set.contains("wyy"));

(3)整型数组转化

特别注意,将整形数组转为集合,必须用原始类型。不能直接将int[]转化为集合、因为asList()方法的参数必须是对象。应该先把int[]转化为Integer[]。对于其他原始的类型的数组也是如此,必须先转换成相应的包装类类型数组。

Java是面向对象的编程语言,也就说一切皆为对象.可是那些int double 等八种数据类型却不是对象,这就与Java的一切皆是对象的思想相矛盾了,所以为了解决这个问题,Java就出现了包装类,把那些基本数据类型进行包装,让它成为了一个类,等用到的时候直接调用就可以了..因为集合的类型必须为对象,所以添加元素类型必须为原始类。

public interface Set extends Collection

Integer[] integerArray = newInteger[s5.length];for (int i = 0; i < integerArray.length; i++) {

integerArray[i]=s5[i];

}

Set set1 = new HashSet<>(Arrays.asList(integerArray));

System.out.println(set1);//[2, 3, 7, 8, 9]

3.数组是否包含某个元素  Arrays.toString(s2).contains   转化为字符串,然后用contain方法

/*3.数组是否包含某个元素,用Arrays.toString(s2),然后直接用字符串.contain方法*/System.out.println("字符串是否包含:" + Arrays.toString(s2).contains("wyx"));

4.转换int值为字节数组

byte[] bytes = ByteBuffer.allocate(4).putInt(90).array();for (bytet : bytes) {

System.out.format("0x%x ", t); //0x0 0x0 0x0 0x5a

}

5.延伸:如何查看数组是否包含某个元素

方法1:Arrays.toString(s2).contains   转化为字符串,然后用contain方法

方法2:先用2,转化为集合,然后用contain方法

方法3:自循环

public static booleanLoop(String[] arr, String targetValue) {for(String s: arr){if(s.equals(targetValue))return true;

}return false;

}

方法4:Arrays.binarySearch()  ,只能用于有序数组,当数组存储数据很多时推荐此方法。

可以通过计算 long time=System.nanoTime() 计算一下时间复杂度。

public static booleanbinarySearch(String[] arr, String targetValue) {int j =Arrays.binarySearch(arr, targetValue);if (j > 0) {return true;

}else

return false;

}

6.另外 Apache common lang 包中的ArrayUtils类常用来连接两个数组,数组元素移除,反转 ,用时再说~

就酱紫~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值