多语言展示
当前在线:646今日阅读:183今日分享:45

Java学习之数组(一)

本经验简单的介绍了Java中一些常用操作数组的方法。
工具/原料
1

win7开发环境

2

MyEclipse开发工具

3

jdk1.6

方法/步骤
1

1.使用sort()方法对Java数组进行排序,及如何使用 binarySearch() 方法来查找数组中的元素。代码如下:public class bTest {public static void main(String[] args) {int array[] = { 34, 25, -23, 61, -13, 18, 0, -17, -49, 47 };Arrays.sort(array);//调用sort()函数对数组进行排序outArray('数组排序结果为', array);//调用静态方法输出数组int index = Arrays.binarySearch(array, 18);//查找元素System.out.println('元素 18  在第 ' + index + ' 个位置');}private static void outArray(String message, int array[]) {for (int i = 0; i < array.length; i++) {if (i != 0) {System.out.print(', ');}System.out.print(array[i]);}System.out.println();}}结果如下图所示:

2

2.使用 insertElement () 方法向数组插入元素代码如下:int newIndex = index + 1;array = add(array, 10, newIndex);outArray('数组添加元素 1', array);private static int[] add(int original[], int element, int index) {int length = original.length;int destination[] = new int[length + 1];System.arraycopy(original, 0, destination, 0, index);destination[index] = element;System.arraycopy(original, index, destination, index + 1, length- index);return destination;}结果如下图所示:

3

3.使用 Collections.reverse(ArrayList) 将数组进行反转: 代码如下:ArrayList arrayList = new ArrayList();       arrayList.add('1');      arrayList.add('2');      arrayList.add('3');      arrayList.add('4');      arrayList.add('5');      System.out.println('反转前排序: ' + arrayList);      Collections.reverse(arrayList);      System.out.println('反转后排序: ' + arrayList);结果如下:

4

4.通过 List 类的 Arrays.toString () 方法和 List 类的 list.Addall(array1.asList(array2) 方法将两个数组合并为一个数组代码如下: String a[] = { 'A', 'B', 'C' };      String b[] = { 'D', 'E' };      List list = new ArrayList(Arrays.asList(a));      list.addAll(Arrays.asList(b));      Object[] c = list.toArray();      System.out.println(Arrays.toString(c));结果如下:

5

5.通过 Java Util 类的 Array.fill(arrayname,value) 方法和 Array.fill(arrayname ,starting index ,ending index ,value) 方法向数组中填充元素代码如下:int array[] = new int[6];      Arrays.fill(array, 100);      for (int i=0, n=array.length; i < n; i++) {         System.out.println(array[i]);      }      System.out.println();      Arrays.fill(array, 3, 6, 50);      for (int i=0, n=array.length; i< n; i++) {         System.out.println(array[i]);      }结果如下:

6

6. remove () 方法来删除数组元素代码如下: ArrayList objArray = new ArrayList();      objArray.clear();      objArray.add(0,'第 0 个元素');      objArray.add(1,'第 1 个元素');      objArray.add(2,'第 2 个元素');      objArray.add(3,'第 3个元素');      objArray.add(4,'第 4 个元素');      objArray.add(5,'第 5 个元素');      System.out.println('数组删除元素前:'+objArray);      objArray.remove(1);      System.out.println('数组删除元素后:'+objArray);结果如下:

7

7.使用 removeAll () 方法来计算两个数组的差集代码如下: ArrayList objArray = new ArrayList();      ArrayList objArray2 = new ArrayList();      objArray2.add(0,'张飞1');      objArray2.add(1,'张飞2');      objArray2.add(2,'张飞3');      objArray2.add(3,'张飞4');      objArray.add(0,'张飞1');      objArray.add(1,'张飞7');      objArray.add(2,'张飞8');      System.out.println('array1 的元素' +objArray);      System.out.println('array2 的元素' +objArray2);      objArray.removeAll(objArray2);      System.out.println('array1 与 array2 数组差集为:'+objArray);结果如下图:

8

8. equals ()方法来判断数组是否相等:代码如下: int[] ary = {1,2,3,4,5,6};      int[] ary1 = {1,2,3,4,5,6};      int[] ary2 = {1,2,3,4};      System.out.println('数组 ary 是否与数组 ary1相等? :'      +Arrays.equals(ary, ary1));      System.out.println('数组 ary 是否与数组 ary2相等? :'      +Arrays.equals(ary, ary2));结果如下:

9

9. 使用 union ()方法来判断数组是否相等代码如下: String[] arr1 = { '1', '2', '3' };        String[] arr2 = { '4', '5', '6' };        String[] result_union = union(arr1, arr2);        System.out.println('并集的结果如下:');         for (String str : result_union) {            System.out.println(str);        } // 求两个字符串数组的并集,利用set的元素唯一性    public static String[] union(String[] arr1, String[] arr2) {        Set set = new HashSet();        for (String str : arr1) {            set.add(str);        }        for (String str : arr2) {            set.add(str);        }        String[] result = {  };        return set.toArray(result);    }结果如下:

推荐信息