Java学习之数组(一)

2026-02-09 04:52:34

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();

}

}

结果如下图所示:

Java学习之数组(一)

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;

}

结果如下图所示:

Java学习之数组(一)

3、3.使用 Collections.reverse(ArrayList) 将数组进行反转:

 代码如下:

ArrayList<String> arrayList = new ArrayList<String>();

       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);

结果如下:

Java学习之数组(一)

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));

结果如下:

Java学习之数组(一)

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]);

      }

结果如下:

Java学习之数组(一)

6、6. remove () 方法来删除数组元素

代码如下:

 ArrayList<String> objArray = new ArrayList<String>();

      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);

结果如下:

Java学习之数组(一)

7、7.使用 removeAll () 方法来计算两个数组的差集

代码如下:

 ArrayList<String> objArray = new ArrayList<String>();

      ArrayList<String> objArray2 = new ArrayList<String>();

      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);

结果如下图:

Java学习之数组(一)

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));

结果如下:

Java学习之数组(一)

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<String> set = new HashSet<String>();

        for (String str : arr1) {

            set.add(str);

        }

        for (String str : arr2) {

            set.add(str);

        }

        String[] result = {  };

        return set.toArray(result);

    }

结果如下:

Java学习之数组(一)

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:124
  • 阅读量:171
  • 阅读量:20
  • 阅读量:159
  • 阅读量:128
  • 猜你喜欢