数组

来源:互联网 发布:windows 7旗舰版密钥 编辑:程序博客网 时间:2024/05/21 22:28

数组的声明由几种方式:

1,String []a = new String[length];

a[0]=?;.......通过数组下标赋值

2,new的时间就初始化:

String []a = new String[]{?,?...};

3.不用new直接赋值:

String []a = {?,?....}


遍历数组的方法

一,for

  1. for(int i = 0; i < arr.length; i++){  
  2.             for(int j = 0; j < arr[i].length; j++){  
  3.                 System.out.print(arr[i][j]);  
  4.             }  
二,foreach

  1.  int arr[][] = new int[][]{{4,3},{1,5}};  
  2.           
  3.         //foreach语句遍历二维数组。  
  4.         System.out.println("数组中的元素是:");  
  5.         for(int x[]:arr){  //外层遍历得到一维数组  
  6.             for(int e:x){  //内层遍历得到数组元素  
  7.                     System.out.print(e);  
  8.             }  
三,Arrays工具类中toString静态方法遍历

  1.   int arr[][] = new int[][]{{9,8},{7,6,5}};  
  2.         for(int i = 0; i < arr.length; i++){//循环得到一维数组  
  3.             System.out.println(Arrays.toString(arr[i]));//将一维数组转化为字符串输出  
  4.         }  

数组常用函数

(1)输出一个数组 

int[] arr = { 1, 2, 3, 4, 5 };  String arrString = Arrays.toString(arr);  
system.out.println(arrString);

结果:[1, 2, 3, 4, 5]

(2) 检查一个数组是否包含某值

String[] arr= { "a", "b", "c", "d", "e" };  boolean b = Arrays.asList(arr).contains("a");  System.out.println(b);  // true
Arrays.asList()将一个数组转化为一个List对象,这个方法会返回一个ArrayList类型  
(3)连接两个数组
1 int[] arr1 = { 1, 2, 3, 4, 5 };  2 int[] arr2= { 6, 7, 8, 9, 10 };  3 int[] combArr = ArrayUtils.addAll(arr1 , arr2);
(4)逆向输出一个数组
int[] arr= { 1, 2, 3, 4, 5 };  ArrayUtils.reverse(intArray);  System.out.println(Arrays.toString(intArray)); 
java代码实现
int[] arr = { 1, 2, 3, 4, 5 };int[] revArr = new int[arr.length]; for(int i = 0; i < arr.length; i++){     revArr[i] = arr[arr.length - i -1]; } System.out.println(Arrays.toString(revArr));

(5)移除数组中的元素
int[] arr= { 1, 2, 3, 4, 5 };  int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array  System.out.println(Arrays.toString(removed))
(6)System.arraycopy方法复制数组
  1. public static native void arraycopy(Object src,  int  srcPos,  
  2.                                         Object dest, int destPos,  
  3.                                         int length);
复制指定源数组src到目标数组dest。复制从src的srcPos索引开始,复制的个数是length,复制到dest的索引从destPos开始。
(8)arrays.copyof()复制

int[] arr1 = {1, 2, 3, 4, 5};

int[] arr2 = Arrays.copyOf(arr1,arr1.length);

arr1要复制的数组,复制的长度
ArrayUtils数组操作
toString
将一个数组转换成String,用于打印数组
isEquals
判断两个数组是否相等,采用EqualsBuilder进行判断
toMap
将一个数组转换成Map,如果数组里是Entry则其Key与Value就是新Map的Key和Value,如果是Object[]则Object[0]为KeyObject[1]为Value
clone
拷贝数组
subarray
截取子数组
isSameLength
判断两个数组长度是否相等
getLength
获得数组的长度
isSameType
判段两个数组的类型是否相同
reverse
数组反转
indexOf
查询某个Object在数组中的位置,可以指定起始搜索位置
lastIndexOf
反向查询某个Object在数组中的位置,可以指定起始搜索位置
contains
查询某个Object是否在数组中
toObject
将基本数据类型转换成外包型数据
isEmpty
判断数组是否为空(null和length=0的时候都为空)
addAll
合并两个数组
add
添加一个数据到数组
remove
删除数组中某个位置上的数据
removeElement
删除数组中某个对象(从正序开始搜索,删除第一个)

0 0
原创粉丝点击