java数组基本操作

一、数组声明

  两种形式(方括号位置放变量前后都可以):

  int arr[ ]; int[ ] arr2; 

二、数组初始化

  数组初始化也有两种形式,如下(使用new或不使用new):

  int arr[] = new int[]{1, 3, 5, 7, 9};

  int[] arr2 = {2, 4, 6, 8, 10}; 

三、遍历数组

  遍历数组可用for/foreach,如下:

   for循环略

   int arr[] = new int[]{1, 3, 5, 7 ,9};

   for (int x: arr) { System.out.print(x + "\t"); } 


四、Arraysfill填充数组(修改数组

  使用Arrays类的静态方法,需要import包java.util.Arrays,定义了许多重载方法。

  void fill(int[] a, int val)全部填充

  void fill(int[] a, int fromIndex, int toIndex, int val)填充指定索引的元素  左闭右开

 

    int[] arr = new int[]{6,6,6,6,6,6};
    Arrays.fill(arr, 8);                //8,8,8,8,8,8
    Arrays.fill(arr3, 1, 3, 9);    //6,9,9,8,8,8    

 

 

 

五、Arrayssort对数组排序(使用Arrays.调用)

  void sort(int[] a)全部排序    默认升序

  void sort(int[] a, int fromIndex, int toIndex)排序指定索引的元素

int [] array=new int[]{3,7,8,2,1,9};
Arrays.sort(array);    //全排序
Arrays.sort(array,2,5);    //2到5排序

 

六、ArrayscopyOf复制数组

  int[] copyOf(int[] original, int newLength)复制数组,指定新数组长度

  int[] copyOfRange(int[] original, int from, int to)复制数组,指定所复制的原数组的索引

int [] array=new int[]{3,7,8,2,1,9};
array2=Arrays.copyOf(array,3); //新数组的长度为3
array3=Arrays.copyOfRange(array,3,5); //复制第三到五个元素

七、检查数组中是否包含某一个值

  先使用Arrays.asList()将Array转换成List<String>,这样就可以用动态链表的contains函数来判断元素是否包含在链表中

String[] stringArray = { "a", "b", "c", "d", "e" };
        boolean b = Arrays.asList(stringArray).contains("a");
        System.out.println(b);

 

八、连接两个数组(需要下载apache的jar包)

  ArrayUtils是Apache提供的数组处理类库,其addAll方法可以很方便地将两个数组连接成一个数组。

int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 6, 7, 8, 9, 10 };
// Apache Commons Lang library
int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);

 


九、数组翻转

  依然用到了万能的ArrayUtils。
十、从数组中移除一个元素


十一、java打印数组

 Arrays.toString(arr)  

for(int n: arr)   
   System.out.println(n+", ");  

for (int i = 0; i < arr.length; i++) {  
   System.out.print(arr[i] + ", ");  
}  

System.out.println(Arrays.asList(arr));  

Arrays.asList(arr).stream().forEach(s -> System.out.println(s));

 


十二、定位元素位置

  Arrays.binarySearch(str,待查元素);//有序数组

  Arrays.asList.indexOf(str);

  如果数组无序且需要反复多次定位不同的元素,可以通过HashMap建立一个,<元素,位置>的字典,以后需要查询的时候通过当前字典即可查询。

 

 

参考:https://blog.csdn.net/qq_36084640/article/details/79342722

posted @ 2019-03-22 17:13  StarZhai  阅读(16382)  评论(0编辑  收藏  举报