* Arrays工具类的使用
*/
public class ArraysTest
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
int [] arr = {2, 2, 4, 5, 6, 6};
//将数组中的所有元素 都打印出来
System.out.println(Arrays.toString(arr));
//asList将数组转成集合
/*
* 好处: 其实可以使用集合的方法操作数组中的元素 。
* 注意: 数组的长度是固定的,所以对于集合的增删方法是不可以使用的。。。否则发生异常。
*/
String[] strs = {"alskd", "lskdfl", "skdjflskd", "yangchao"};
List<String> list = Arrays.asList(strs);
boolean b = list.contains("yangchao");
System.out.println(b);
/*
* 如果数组中的元素时对象,那么转成集合时,直接将数组中的元素作为集合中的元素进行 集合存储
* 如果数组中的元素是基本类型 数值时,那么会将该数组作为集合中的元素进行存储。
*/
int []a = {23, 42, 35};
List list2 = Arrays.asList(a);
System.out.println(list2);
/*
* 集合转为数组。
*
* 使用的就是Collection接口中的toArray方法。
*/
List<String> list3 = new ArrayList<String>();
list3.add("yangchao");
list3.add("liuyaun");
/*toArray方法需要传入一个指定类型的数组
* 如果长度小于集合的size时,那么该法会创建一个同类型的 并和集合相同的size的数组。
* 如果该长度大于集合的size时,那么该方法就会使用指定的数组,存储集合中的元素, 其他位置默认为null。
*/
String[] str3 = list3.toArray(new String[list3.size()]);
System.out.println(Arrays.toString(str3));
}
//toString的经典实现
public static String toString(int[] a)
{
if (a == null)
return "null";
int iMax = a.length - 1;
if (iMax == -1)
return "[]";
StringBuilder b = new StringBuilder();
b.append('[');
for (int i = 0;; i++)//中间省略了长度判断 提高了效率
{
b.append(a[i]);
if (i == iMax)
return b.append(']').toString();
b.append(", ");
}
}
}
l
===================================================================
//使用可变参数
/*函数的可变参数。
*
其实就是一个数组,但是接收的是数组的元素。
* 自动将这些元素封装成数组,简化了调用者的书写。
*
* 注意:可变参数类型必须定义在参数列表的结尾出
*/
public static int Add(int...arr)
{
int sum = 0;
for (int i = 0; i < arr.length; i++)
{
sum+=arr[i];
}
return sum;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。