数组常用方法之复制、替换(填充)、比较、排序和搜索
2017-11-10 17:55
399 查看
一、数组的复制
Arrays.copyOf()方法是复制数组至指定长度。语法:int newArr[] = Arrays.copyOf(arr,3);
复制源数组中从下标0开始的3个元素到目的数组,从下标0的位置开始存储
import java.util.Arrays;
public class
TestArray{
public static
void main(String
args[]){
int arr3[] = {1,2,3,4,5,6};
int a[]=
Arrays.copyOf(arr3,3);
for(int
i =0;i<a.length;i++){
System.out.println(a[i]);
}
}
}
结果是:1 2 3
二、数组的填充
Arrays.fill()方法。对数组中的元素进行替换。语法:Arrays.fill(arr,2,3,"bb"); 位置2包括位置3不包括替换值“bb”
有两种形式:一种形式是“fill(type []a,type b)”;表示把数组a的全部空间填充为b.
另一种形式是“fill(type a[],int key1,int key2,type b);” 表示把数组a从key1到key2的全部内容填充为b,但不包含key2的位置。
import java.util.Arrays;
public class
TestArray{
public static
void main(String
args[]){
int arr3[] = {1,2,3,4,5,6};
Arrays.fill(arr3,1,3,0);
for(int
i =0;i<arr3.length;i++){
System.out.println(arr3[i]);
}
}
}
结果是:1 0 0 4 5 6
三、数组的比较
Arrays.equals()方法。
实现比较的函数为equals(数组1,数组2)。如果两个数组的数据元素数量相同,相同位置上的数据元素又相等,则这两个数组想等,函数返回boolean值true,否则不相等,函数返回boolean值false。
import java.util.Arrays;
public class
TestArray{
public static
void main(String
args[]){
int arr3[] = {1,2,3,4,5,6};
int arr4[] = {1,2,3,4,5,6};
int arr1[] = {1,2,3,4,5,6};
int arr2[] = {1,2,3,4,5,7};
boolean a=
Arrays.equals(arr3,arr4);
boolean b=
Arrays.equals(arr1,arr2);
System.out.println(a);
System.out.println(b);
}
}
结果是:ture false
四、数组的排序
Arrays.sort()方法。
数组的排序指依据数组中的数据类型升序排序。该方法有两种参数格式:一是“sort(数组引用)”;二是“sort(数组引用,参数1,参数2)”。前者表示对整个数组升序排序,后者表示对数组中的一个范围内的元素排序,参数1是起始位置,参数2是截止位置,但不包含该位置。
import java.util.Arrays;
public class
TestArray{
public static
void main(String
args[]){
int arr1[] = {4,7,3,2,8,1};
int arr2[] = {4,7,3,2,8,1};
Arrays.sort(arr1);
Arrays.sort(arr2,0,4);
for (int
i=0;i<arr1.length;i++){
System.out.print(arr1[i]);
}
System.out.println(" ");
for (int
i=0;i<arr2.length;i++){
System.out.print(arr2[i]);
}
}
}
结果是:123478 234781
五、数组的查找
Arrays.binarySearch().
数组的查找是在指定数据类型的数组中查找一个具体的元素,如在int型数组中查找一个整数,如果该整数存在,则输出该整数在数组中的位置。需要注意的是数组中元素的位置是从0开始计数的。如果该整数不存在则输出一个负值。
import java.util.Arrays;
public class
TestArray{
public static
void main(String
args[]){
int arr1[] = {4,7,3,2,8,1};
int arr2[] = {4,7,3,2,8,1};
int a=
Arrays.binarySearch(arr1,3);
int b=
Arrays.binarySearch(arr2,9);
System.out.println(a);
System.out.println(b);
}
}
结果是:2 -7
Arrays.copyOf()方法是复制数组至指定长度。语法:int newArr[] = Arrays.copyOf(arr,3);
复制源数组中从下标0开始的3个元素到目的数组,从下标0的位置开始存储
import java.util.Arrays;
public class
TestArray{
public static
void main(String
args[]){
int arr3[] = {1,2,3,4,5,6};
int a[]=
Arrays.copyOf(arr3,3);
for(int
i =0;i<a.length;i++){
System.out.println(a[i]);
}
}
}
结果是:1 2 3
二、数组的填充
Arrays.fill()方法。对数组中的元素进行替换。语法:Arrays.fill(arr,2,3,"bb"); 位置2包括位置3不包括替换值“bb”
有两种形式:一种形式是“fill(type []a,type b)”;表示把数组a的全部空间填充为b.
另一种形式是“fill(type a[],int key1,int key2,type b);” 表示把数组a从key1到key2的全部内容填充为b,但不包含key2的位置。
import java.util.Arrays;
public class
TestArray{
public static
void main(String
args[]){
int arr3[] = {1,2,3,4,5,6};
Arrays.fill(arr3,1,3,0);
for(int
i =0;i<arr3.length;i++){
System.out.println(arr3[i]);
}
}
}
结果是:1 0 0 4 5 6
三、数组的比较
Arrays.equals()方法。
实现比较的函数为equals(数组1,数组2)。如果两个数组的数据元素数量相同,相同位置上的数据元素又相等,则这两个数组想等,函数返回boolean值true,否则不相等,函数返回boolean值false。
import java.util.Arrays;
public class
TestArray{
public static
void main(String
args[]){
int arr3[] = {1,2,3,4,5,6};
int arr4[] = {1,2,3,4,5,6};
int arr1[] = {1,2,3,4,5,6};
int arr2[] = {1,2,3,4,5,7};
boolean a=
Arrays.equals(arr3,arr4);
boolean b=
Arrays.equals(arr1,arr2);
System.out.println(a);
System.out.println(b);
}
}
结果是:ture false
四、数组的排序
Arrays.sort()方法。
数组的排序指依据数组中的数据类型升序排序。该方法有两种参数格式:一是“sort(数组引用)”;二是“sort(数组引用,参数1,参数2)”。前者表示对整个数组升序排序,后者表示对数组中的一个范围内的元素排序,参数1是起始位置,参数2是截止位置,但不包含该位置。
import java.util.Arrays;
public class
TestArray{
public static
void main(String
args[]){
int arr1[] = {4,7,3,2,8,1};
int arr2[] = {4,7,3,2,8,1};
Arrays.sort(arr1);
Arrays.sort(arr2,0,4);
for (int
i=0;i<arr1.length;i++){
System.out.print(arr1[i]);
}
System.out.println(" ");
for (int
i=0;i<arr2.length;i++){
System.out.print(arr2[i]);
}
}
}
结果是:123478 234781
五、数组的查找
Arrays.binarySearch().
数组的查找是在指定数据类型的数组中查找一个具体的元素,如在int型数组中查找一个整数,如果该整数存在,则输出该整数在数组中的位置。需要注意的是数组中元素的位置是从0开始计数的。如果该整数不存在则输出一个负值。
import java.util.Arrays;
public class
TestArray{
public static
void main(String
args[]){
int arr1[] = {4,7,3,2,8,1};
int arr2[] = {4,7,3,2,8,1};
int a=
Arrays.binarySearch(arr1,3);
int b=
Arrays.binarySearch(arr2,9);
System.out.println(a);
System.out.println(b);
}
}
结果是:2 -7
相关文章推荐
- NSString常用方法(读写、比较、搜索、动态截取、替换、删除)
- Java--填充替换数组元素、对数组进行排序、复制数组、数组查询、
- javascript数组去重的三种常用方法,及其性能比较
- jquery删除,添加,替换,复制节点的几种常用方法
- 常用数组排序方法(Java实现)
- 数组排序方法的性能比较(3):LINQ排序实现分析
- 【C#基础知识】之结构、数组及常用的几种排序方法总结
- 数组复制的几种常用方法
- PHP数组排序方法比较
- OC中常用的数组排序有以下几种方法
- 编写学习的java几种常用数组的排序方法,给大家分享一下
- 常用的内部排序方法-非比较排序
- java 运用数组常用的几种排序方法
- AS3常用编程小方法——数组深复制
- 数据结构和算法分析之排序篇--归并排序(Merge Sort)和常用排序算法时间复杂度比较(附赠记忆方法)
- 使用JavaScript操作DOM节点元素的常用方法(创建/删除/替换/复制等)
- javascript数组去重的三种常用方法,及其性能比较
- 【java数组详解(包括数据的初始化、比较、排序、重要方法)】
- 数组排序方法的性能比较(2):Array.Sort<T>实现分析
- js数组排序 reverse()和sort()方法的使用 复制数组slice()和克隆数组concat()