Java实例-数组

作者: JWking | 来源:发表于2019-07-27 10:41 被阅读0次

    1、Java 实例 – 数组排序及元素查找:使用sort()方法对Java数组进行排序,使用 binarySearch() 方法来查找数组中的元素

    public class Array_SortLookup {

    public Array_SortLookup(){

    int array[] = {2,5, -2,6, -3,8,0, -7, -9,4 };

    Arrays.sort(array);

    printArray("数组排序结果为", array);

    int index = Arrays.binarySearch(array,2);

    System.out.println("元素 2  在第 " + index +" 个位置");

    }

    private static void printArray(String message,int array[]) {

    System.out.println(message

    +": [length: " + array.length +"]");

    for (int i =0; i < array.length; i++) {

    if(i !=0){

    System.out.print(", ");

    }

    System.out.print(array[i]);

    }

    System.out.println();

    }

    }

    输出结果:

    2、Java 实例 – 数组添加元素:使用sort()方法对Java数组进行排序,及如何使用 insertElement () 方法向数组插入元素。

    public class Array_SortAdd {

    public Array_SortAdd(){

    int array[] = {2,5, -2,6, -3,8,0, -7, -9,4 };

    Arrays.sort(array);

    printArray("数组排序", array);

    int index = Arrays.binarySearch(array,1);

    System.out.println("元素 1 所在位置(负数为不存在):"

                    + index);

    int newIndex = -index -1;

    array =insertElement(array,1, newIndex);

    printArray("数组添加元素 1", array);

    }

    private static void printArray(String message,int array[]) {

    System.out.println(message

    +": [length: " + array.length +"]");

    for (int i =0; i < array.length; i++) {

    if (i !=0){

    System.out.print(", ");

    }

    System.out.print(array[i]);

    }

    System.out.println();

    }

    private static int[] insertElement(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、Java 实例 – 获取数组长度:使用数组的属性 length 来获取数组的长度。

    public class Array_Length {

    public Array_Length(){

    String[][] data =new String[2][5];

    System.out.println("第一维数组(垂直)长度: " + data.length);

    System.out.println("第二维数组(水平)长度: " + data[0].length);

    }

    }

    输出结果:

    4、Java 实例 – 数组反转:使用 Collections.reverse(ArrayList) 将数组进行反转。

    public class Array_Reverse {

    public Array_Reverse(){

    ArrayList arrayList =new ArrayList();

    arrayList.add("A");

    arrayList.add("B");

    arrayList.add("C");

    arrayList.add("D");

    arrayList.add("E");

    System.out.println("原数组排序: " + arrayList);

    Collections.reverse(arrayList);

    System.out.println("反转后排序: " + arrayList);

    }

    }

    输出结果:

    5、Java 实例 – 数组输出:

    public class Array_Print {

    public Array_Print(){

    String[] arr =new String[3];

    arr[0] ="功能1";

    arr[1] ="功能2";

    arr[2] ="功能3";

    for (int i =0; i < arr.length; i++){

    System.out.println(arr[i]);

    }

    }

    public Array_Print(String []arr){

    for (int i =0; i < arr.length; i++){

    System.out.print(arr[i]+"    ");

    }

    }

    }

    输出结果:

    6、Java 实例 – 数组获取最大和最小值:通过 Collections 类的 Collections.max() 和 Collections.min() 方法来查找数组中的最大和最小值。

    public class Array_MaxMin {

    public Array_MaxMin(){

    Integer[] numbers = {8,2,7,1,4,9,5};

    int min = (int) Collections.min(Arrays.asList(numbers));

    int max = (int) Collections.max(Arrays.asList(numbers));

    System.out.println("最小值: " + min);

    System.out.println("最大值: " + max);

    }

    }

    输出结果:

    7、Java 实例 – 数组合并:通过 List 类的 Arrays.toString () 方法和 List 类的 list.Addall(array1.asList(array2) 方法将两个数组合并为一个数组。

    public class Array_Merge {

    public Array_Merge(){

    String a[] = {"A","E","I" };

    String b[] = {"O","U" };

    List list =new ArrayList(Arrays.asList(a));

    list.addAll(Arrays.asList(b));

    Object[] c = list.toArray();

    System.out.print("数组1:");

    new Array_Print(a);                     //实例5输出数组中带参数的构造方法

    System.out.print("\n数组2:");

    new Array_Print(b);

    System.out.println("\n合并后的数组:"+Arrays.toString(c));

    }

    }

    输出结果:

    8、Java 实例 – 数组填充:通过 Java Util 类的 Arrays.fill(arrayname,value) 方法和Arrays.fill(arrayname ,starting index ,ending index ,value) 方法向数组中填充元素。

    public class Array_Fill {

    public Array_Fill(){

    int array[] =new int[6];

    Arrays.fill(array,100);

    System.out.println("将数组全部填充为值100的元素:");

    for (int i=0, n=array.length; i < n; i++) {

    System.out.print(array[i]+"  ");

    }

    System.out.println("\n将数组后3个元素填充为值50的元素:");

    Arrays.fill(array,3,6,50);

    for (int i=0, n=array.length; i< n; i++) {

    System.out.print(array[i]+"  ");

    }

    }

    }

    输出结果:

    9、Java 实例 – 数组扩容:

    public class Array_Extends {

    public Array_Extends(){

    String[] names =new String[] {"A","B","C" };

    String[] extended =new String[5];

    extended[3] ="D";

    extended[4] ="E";

    System.arraycopy(names,0, extended,0, names.length);

    System.out.println("原数组:");

    new Array_Print(names);//实例5输出数组中带参数的构造方法

            System.out.println("\n扩容后数组:");

    new Array_Print(extended);

    }

    }

    输出结果:

    10、Java 实例 – 查找数组中的重复元素:

    public class Array_CNKI {

    public Array_CNKI(){

    int[] my_array = {1,2,5,5,6,6,7,2,9,2};

    findDupicateInArray(my_array);

    }

    public static void findDupicateInArray(int[] a) {

    int count=0;

    for(int j=0;j

    for(int k =j+1;k

    if(a[j]==a[k]) {

    count++;

    }

    }

    if(count==1)

    System.out.println("重复元素 : " +  a[j] );

    count =0;

    }

    }

    }

    输出结果:

    11、Java 实例 – 删除数组元素:使用 remove () 方法来删除数组元素

    public class Array_Delete {

    public Array_Delete(){

    ArrayList objArray =new ArrayList();

    objArray.clear();

    objArray.add(0,"第 0 个元素");

    objArray.add(1,"第 1 个元素");

    objArray.add(2,"第 2 个元素");

    System.out.println("数组删除元素前:"+objArray);

    objArray.remove(1);//通过键值对,按键删除

            objArray.remove("第 0 个元素");//通过键值对,按键值删除

            System.out.println("数组删除元素后:"+objArray);

    }

    }

    输出结果:

    12、Java 实例 – 数组差集:使用 removeAll () 方法来计算两个数组的差集。

    public class Array_DefferenceSet {

    public Array_DefferenceSet(){

    ArrayList objArray =new ArrayList();

    ArrayList objArray2 =new ArrayList();

    objArray2.add(0,"common1");

    objArray2.add(1,"common2");

    objArray2.add(2,"notcommon");

    objArray2.add(3,"notcommon1");

    objArray.add(0,"common1");

    objArray.add(1,"common2");

    objArray.add(2,"notcommon2");

    System.out.println("array1 的元素" +objArray);

    System.out.println("array2 的元素" +objArray2);

    objArray.removeAll(objArray2);

    System.out.println("array1 与 array2 数组差集为:"+objArray);

    }

    }

    输出结果:

    13、Java 实例 – 数组交集:

    public class Array_Mixed {

    public Array_Mixed(){

    ArrayList objArray =new ArrayList();

    ArrayList objArray2 =new ArrayList();

    objArray2.add(0,"common1");

    objArray2.add(1,"common2");

    objArray2.add(2,"notcommon");

    objArray2.add(3,"notcommon1");

    objArray.add(0,"common1");

    objArray.add(1,"common2");

    objArray.add(2,"notcommon2");

    System.out.println("array1 数组元素:"+objArray);

    System.out.println("array2 数组元素:"+objArray2);

    objArray.retainAll(objArray2);

    System.out.println("array2 & array1 数组交集为:"+objArray);

    }

    }

    输出结果:

    14、Java 实例 – 在数组中查找指定元素:使用 contains () 方法来查找数组中的指定元素。

    public class Array_Find {

    public Array_Find(){

    ArrayList objArray =new ArrayList();

    ArrayList objArray2 =new ArrayList();

    objArray2.add(0,"common1");

    objArray2.add(1,"common2");

    objArray2.add(2,"notcommon");

    objArray2.add(3,"notcommon1");

    objArray.add(0,"common1");

    objArray.add(1,"common2");

    System.out.println("objArray 的数组元素:"+objArray);

    System.out.println("objArray2 的数组元素:"+objArray2);

    System.out.println("objArray 是否包含字符串common2? : "

                    +objArray.contains("common2"));

    System.out.println("objArray2 是否包含数组 objArray? :"

                    +objArray2.contains(objArray) );

    }

    }

    输出结果:

    15、Java 实例 – 判断数组是否相等:使用 equals ()方法来判断数组是否相等。

    public class Array_Equal {

    public Array_Equal(){

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

    }

    }

    输出结果:

    16、Java 实例 - 数组并集:使用 union ()方法来计算两个数组的并集。

    public class Array_Union {

    public Array_Union(){

    String[] arr1 = {"1","2","3" };

    String[] arr2 = {"4","5","6" };

    String[] result_union =union(arr1, arr2);

    System.out.println("数组1的元素有:");

    new Array_Print(arr1);

    System.out.println("\n数组2的元素有:");

    new Array_Print(arr2);

    System.out.println("\n并集的结果如下:");

    for (String str : result_union) {

    System.out.print(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);

    }

    }

    输出结果:

    相关文章

      网友评论

        本文标题:Java实例-数组

        本文链接:https://www.haomeiwen.com/subject/etudrctx.html