牛骨文教育服务平台(让学习变的简单)
博文笔记

数组的常见操作

创建时间:2016-08-17 投稿人: 浏览次数:244

数组的拷贝

System类里也包含了一个static void arraycopy(object src,int srcpos,object dest, int destpos,int length)方法,该方法可以将src数组里的元素值赋给dest数组的元素,其中srcpos指定从src数组的第几个元素开始赋值,length参数指定将src数组的多少个元素赋给dest数组的元素。

String[] s = {"Mircosoft","IBM","Sun","Oracle","Apple"}; 

    String[] sBak = new String[6];

    System.arraycopy(s,0,sBak,0,s.length); 

数组的排序

sort函数

int[] a = {1,2,323,23,543,12,59};

System.out.println(Arrays.toString(a));

Arrays.sort(a);

System.out.println(Arrays.toString(a));

结果:

[1, 2, 323, 23, 543, 12, 59]

[1, 2, 12, 23, 59, 323, 543]

二分法查找

sort+binaruSearch

int[] a = {1,2,323,23,543,12,59};

Arrays.sort(a);   //使用二分法查找,必须先对数组进行排序

System.out.println("该元素的索引:"+Arrays.binarySearch(a, 12));

填充

fill

Arrays.fill(a, 2, 4, 100);  //将2到4索引的元素替换为100

转变为List

asList
Java中Arrays的asList()方法 可以将数组转为List。但是,这个数组类型必须是引用类型的,如果是8种基本数据类型就不可以。

如果直接传递数组,基本类型数组将被视为一个对象而不会被解析成数组,如果直接传递参数将能正常解析。因此传递基本类型数组时强烈建议转为其封装类对象的数组 int ->Integer ,long->Long …………。(未对其封装)

public static <T> List<T> asList(T... a) { 
return new ArrayList<T>(a); 
}

这个T必须是对象类型。好比我们不能new ArrayList 只能new ArrayList。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。