java中数组查询⽅法_Java⽅法-数组
【Java数组】
1. ⽤sort()⽅法对Java数组进⾏排序,及如何使⽤ binarySearch() ⽅法来查找数组中的元素
binarySearch()
impress返回值:
如果它包含在数组中,则返回搜索键的索引;否则返回 (-(插⼊点) - 1)
插⼊点被定义为将键插⼊数组的那⼀点:即第⼀ 个⼤于此键的元素索引,如果数组中的所有元素都⼩于指定的键,则为 a.length。注意,这保证了当且仅当此键被找到时,返回的值将 >= 0。
否则返回 (-(插⼊点) - 1)这句话要注意:要是查询的的值⼩于数组⾥⾯的最⼩值那么结果(-(0)-1结果就是-1),如果查询的 值⼤于数组⾥⾯的最⼤值。那么结果就是(-(它的索引值)-1结果就是-(1+索引值))
2. 使⽤sort()⽅法对Java数组进⾏排序,及如何使⽤ inrtElement () ⽅法向数组插⼊元素
// inrtElement () 向数组插⼊元素,⾃定义⽅法
System.arraycopy()
System提供了⼀个静态⽅法arraycopy(),我们可以使⽤它来实现数组之间的复制。
其函数原型是: public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src:源数组; srcPos:源数组要复制的起始位置; dest:⽬的数组; destPos:⽬的数组放置的起始位置; length:复制的长度。
2013河北中考语文
注意: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. ver(ArrayList) 将数组进⾏反转
5. 通过循环输出数组:
/*
author by w3cschool
⽂件名:Main.java
*/
public class Welcome {scale是什么意思
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
⽂件名: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()⽅法时,数组就和列表链接在⼀起了。当更新其中之⼀时,另⼀个将⾃动获得更新。注意:仅仅针对对象数组类型,基本数据类型数组不具备该特性 。
7. 通过 List 类的 String () ⽅法和 List 类的 list.Addall(array1.asList(array2) ⽅法将两个数组合并为⼀个数组:
/*
author by w3cschool
var⽂件名:Main.java
饮茶礼仪
*/
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
String a[] = { "A", "E", "I" };
String b[] = { "O", "U" };
List list = new ArrayList(Arrays.asList(a));
list.addAll(Arrays.asList(b));
Object[] c = Array();
System.out.String(c));
}
}
8. Array.fill(arrayname,value) ⽅法和 Array.fill(arrayname ,starting index ,ending index ,value) ⽅法向数组中填充元素
9. 数组扩容
public class Main {
public static void main(String[] args) {
String[] names = new String[] { "A", "B", "C" };
String[] extended = new String[5];
extended[3] = "D";
extended[4] = "E";
System.arraycopy(names, 0, extended, 0, names.length);
for (String str : extended){
System.out.println(str);
流氓的英文}
}
}
10. ⽤ sort () 和 binarySearch () ⽅法来对数组进⾏排序及查找数组中的元素
11. remove () ⽅法来删除数组元素
12. removeAll () ⽅法来计算两个数组的差集
13. removeAll () ⽅法来删除包含在另外⼀个数组中的数组元素——求交集
14. contains () ⽅法来查找数组中的指定元素:
/*
author by w3cschool
⽂件名:Main.java
*/
import java.util.ArrayList;
public class Main {
ArrayList objArray = new ArrayList();
托业考试官网ArrayList objArray2 = new ArrayList();
objArray2.add(0,"common1");
objArray2.add(1,"common2");
objArray2.add(2,"notcommon");
objArray2.add(3,"notcommon1");
objArray.add(0,"common1");
objArray.add(1,"common2");
System.out.println("objArray 的数组元素:"+objArray);
System.out.println("objArray2 的数组元素:"+objArray2);
System.out.println("objArray 是否包含字符串common2? : "
+ains("common1"));pstl
System.out.println("objArray2 是否包含数组 objArray? :"
+ains(objArray) );
}
}
结果:
objArray 的数组元素:[common1, common2]
objArray2 的数组元素:[common1, common2, notcommon, notcommon1]
objArray 是否包含字符串common2? : trueobjArray2 是否包含数组 objArray? :fal
15. equals ()⽅法来判断数组是否相等
Arrays.equals(ary,ary1));
16.union ()⽅法求字符串并集
String[]result_union =union(arr1,arr2);
for (a : b) { } // 遍历数组
1.Collection是接⼝,是容器类的总接⼝。像那些⼦接⼝:t,Queue,List等都继承了这个接⼝,像实现类:HashSet、ArrayList等都实现了对应的Set、List等接⼝。
bbkxw要获取⾥⾯的元素很简单,在⽅法体中,像你代码中的“RosterEntry entry”对象“entry”就是。2.for(:){……}这个是个JDK1.5的增强for循环也叫for-each.是为了⽅便遍历数组和collection的.由于collection都实现了Iterable(可迭代的)接⼝,所以可以⽤for-each来遍历容器类,⽰例⼀:
List list=new ArrayList();
list.add("a");
list.add("b");
list.add("c");for(String str : list) {
System.out.println(str);
}
另外我最常⽤的就是遍历数组,⽰例⼆int[] arr = new int[3]; arr[0] = 1;
arr[1] =2;
arr[2] = 3;for(inti : arr){
System.out.println(i);
}