【Java数组】
1. 用sort()方法对Java数组进行排序,及如何使用 binarySearch() 方法来查找数组中的元素
binarySearch()
返回值:
如果它包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)
插入点被定义为将键插入数组的那一点:即第一 个大于此键的元素索引,如果数组中的所有元素都小于指定的键,则为 a.length。注意,这保证了当且仅当此键被找到时,返回的值将 >= 0。
否则返回 (-(插入点) - 1)这句话要注意:要是查询的的值小于数组里面的最小值那么结果(-(0)-1结果就是-1),如果查询的 值大于数组里面的最大值。那么结果就是(-(它的索引值)-1结果就是-(1+索引值))
2. 使用sort()方法对Java数组进行排序,及如何使用 insertElement () 方法向数组插入元素
// insertElement () 向数组插入元素,自定义方法
System.arraycopy()
System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制。
其函数原型是: public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src:源数组; srcPos:源数组要复制的起始位置; dest:目的数组; destPos:目的数组放置的起始位置; length:复制的长度。
注意:src and dest都必须是同类型或者可以进行转换类型的数组。
有 趣的是这个函数可以实现自己到自己复制,比如: int[] fun ={0,1,2,3,4,5,6}; System.arraycopy(fun,0,fun,3,3); 则结果为:{0,1,2,0,1,2,6}; 实现过程是这样的,先生成一个长度为length的临时数组,将fun数组中srcPos 到srcPos+length-1之间的数据拷贝到临时数组中,再执行System.arraycopy(临时数组,0,fun,3,3).
3. 使用数组的属性 length 来获取数组的长度
4. Collections.reverse(ArrayList) 将数组进行反转
5. 通过循环输出数组:
/*
author by w3cschool.cc
文件名:Main.java
*/
public class Welcome {
public static void main(String[] args){
String[] greeting = new String[3];
greeting[0] = "This is the greeting";
greeting[1] = "for all the readers from";
greeting[2] = "Java Source .";
for (int i = 0; i < greeting.length; i++){
System.out.println(greeting[i]);
}
}
}
6. 通过 Collection 类的 Collection.max() 和 Collection.min() 方法来查找数组中的最大和最小值
/*
author by w3cschool.cc
文件名:Main.java
*/
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
Integer[] numbers = { 8, 2, 7, 1, 4, 9, 5};
int min = (int) Collections.min(Arrays.asList(numbers));
int max = (int) Collections.max(Arrays.asList(numbers));
System.out.println("最小值: " + min);
System.out.println("最大值: " + max);
}
}
说明:
asList方法:当使用asList()方法时,数组就和列表链接在一起了。当更新其中之一时,另一个将自动获得更新。注意:仅仅针对对象数组类型,基本数据类型数组不具备该特性 。
Link:http://blog.csdn.net/cntanghai/article/details/7188296
7. 通过 List 类的 Arrays.toString () 方法和 List 类的 list.Addall(array1.asList(array2) 方法将两个数组合并为一个数组:
/*
author by w3cschool.cc
文件名:Main.java
*/
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String args[]) {
String a[] = { "A", "E", "I" };
String b[] = { "O", "U" };
List list = new ArrayList(Arrays.asList(a));
list.addAll(Arrays.asList(b));
Object[] c = list.toArray();
System.out.println(Arrays.toString(c));
}
}
原文:http://www.cnblogs.com/misybing/p/4804951.html