zoukankan      html  css  js  c++  java
  • Java关于数组操作函数

    • 数组排序及元素查找

    sort()方法对Java数组进行排序。

    binarySearch() 方法来查找数组中的元素,返回该元素所在的位置。

    import java.util.*;
    public class test {
        public static void main(String args[]){
                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(int array[]){
            System.out.println("数组排序结果:" + ": [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();
        }
    }
    • 获取数组长度

    使用数组length属性来获取数组的长度。

    public class Main {
       public static void main(String args[]) {
          String[][] data = new String[2][5];
          System.out.println("第一维数组长度: " + data.length);
          System.out.println("第二维数组长度: " + data[0].length);
       }
    }
    •  数组反转

    使用 Collections.reverse(ArrayList) 可以将数组进行反转。

    //import java.util.*;
    import java.util.ArrayList;
    import java.util.Collections;
    public class test {
        public static void main(String[] args){
            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);
        }
    }
    •  数组获取最大值和最小值

    通过 Collection 类的 Collection.max() 和 Collection.min() 方法来查找数组中的最大和最小值。

    //import java.util.*;
    import java.util.Arrays;
    import java.util.Collections;
    public class test {
        public static void main(String[] args) {
            Integer[] numbers = { 8, 2, 7, 1, 4, 9, 5};
            int min = Collections.min(Arrays.asList(numbers));
            int max = Collections.max(Arrays.asList(numbers));
            System.out.println("最小值: " + min);
            System.out.println("最大值: " + max);
        }
    }
    • 数组合并

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

    import java.util.Arrays;
    import java.util.ArrayList;
    import java.util.List;
    public class test {
        public static void main(String args[]) {
            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.println(Arrays.toString(c));
        }
    }
    •  数组填充

    通过 Java Util 类的 Array.fill(arrayname,value) 方法和 Array.fill(arrayname ,starting index ,ending index ,value) 方法向数组中填充元素。

    import java.util.*;
    public class FillTest {
        public static void main(String args[]) {
            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]);
            }
        }
    }

     输出:

    100
    100
    100
    100
    100
    100
    
    100
    100
    100
    50
    50
    50
    • 数组扩容
    public class test {
        public static void main(String[] args) {
            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);
            for (String str : extended){
                System.out.print(str);
                System.out.print(" ");
            }
        }
    }

    输出:

    A B C D E 
    • 删除数组元素

    使用ArrayList.remove()方法删除数组元素。

    ArrayList.add(E)

    ArrayList.add(int index, E)

    对应的ArrayList.remove()也有两种。

    import java.util.ArrayList;
    public class test {
        public static void main(String[] args) {
            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);
        }
    }

    输出:

    数组删除元素前:[第 0 个元素, 第 1 个元素, 第 2 个元素]
    数组删除元素后:[第 2 个元素]
    • 数组差集

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

    import java.util.ArrayList;
    public class test {
        public static void main(String[] args)  {
            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);
        }
    }
    • 数组交集

    使用 retainAll () 方法来计算两个数组的交集。

    import java.util.ArrayList;
    public class test {
        public static void main(String[] args)  {
            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);
        }
    }
    • 在数组中查找指定的元素

    使用 contains () 方法来查找数组中的指定元素,返回值为 true or false。

    import java.util.ArrayList;
    public class test {
        public static void main(String[] args)  {
            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("common1"));
            System.out.println("objArray2 是否包含数组 objArray? :"
            +objArray2.contains(objArray) );
        }
    }
    • 判断数组是否相等

    使用 equals ()方法来判断数组是否相等,返回 true or false。

    import java.util.Arrays;
    public class test {
        public static void main(String[] args) throws Exception {
            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));
        }
    }
  • 相关阅读:
    2019-2020-1 20199324《Linux内核原理与分析》第七周作业
    2019-2020-1 20199324《Linux内核原理与分析》第六周作业
    2019-2020-1 20199324《Linux内核原理与分析》第五周作业
    介绍一个比较了各种浏览器对于HTML5 等标准支持程度的网站
    JaveScript 中的正则表达式
    Windows中查看进程的资源消耗(cpu, Disk,Memory,NetWork)
    Windows中通过命令行启动打开Service 管理工具
    删除Widows 启动项中的信息
    LAMP中添加多虚拟主机
    多线程的安全问题
  • 原文地址:https://www.cnblogs.com/dear_diary/p/6593514.html
Copyright © 2011-2022 走看看