zoukankan      html  css  js  c++  java
  • java中对array数组的常用操作

    目录:

    1. 声明数组;
    2. 初始化数组;
    3. 查看数组长度;
    4. 遍历数组;
    5. int数组转成string数组;
    6. 从array中创建arraylist;
    7. 数组中是否包含某一个值;
    8. 将数组转成set集合;
    9. 将数组转成list集合;
    10. Arrays.fill()填充数组;
    11. 数组排序;
    12. 复制数组;
    13. 比较两个数组;
    14. 去重复;
    15. 查询数组中的最大值和最小值;

    备注:文内代码具有关联性。

    1.声明数组;

    1
    2
    3
    4
    String [] arr;
    int arr1[];
    String[] array=new String[5];
    int score[]=new int[3];

    2.初始化数组;

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //静态初始化
    int arr2[]=new int[]{1,2,3,4,5};
    String[] array1={"马超","马云","关羽","刘备","张飞"};
    String[] array2=new String[]{"黄渤","张艺兴","孙红雷","小猪","牙哥","黄磊"};
    int score[]=new int[3];
    //动态初始化
    for(int i=0;i<score.length;i++)
    {   
      score[i]=i+1
    }

    3.查看数组长度;

    1
    2
    int length=array1.length;
    System.out.println("length:  "+array1.length);

    4.遍历数组;

    1
    2
    3
    for (int i = 0; i < array1.length; i++) {
        System.out.println(array1[i]);
    }

     

    5.int数组转成string数组;

    1
    2
    3
    int[]  array3={1,2,3,4,5,6,7,8,9,0};
            String arrStrings=Arrays.toString(array3);
            System.out.println(arrStrings);

     6.从array中创建arraylist;

    1
    2
    ArrayList<String> arrayList=new ArrayList<String>(Arrays.asList(array1));
    System.out.println(arrayList);

    7.数组中是否包含某一个值;

    1
    2
    3
    4
    5
    String a="马超";
    String[] array1={"马超","马云","关羽","刘备","张飞"};
    if (Arrays.asList(array1).contains(a)) {
        System.out.println("马超在这里");
    }

    8.将数组转成set集合;

    1
    2
    3
    String[] array2=new String[]{"黄渤","张艺兴","孙红雷","小猪","牙哥","黄磊"};
        Set<String> set=new HashSet<String>(Arrays.asList(array2));
        System.out.println(set);

    9.将数组转成list集合;

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    String[] array2=new String[]{"黄渤","张艺兴","孙红雷","小猪","牙哥","黄磊"};
    //方法 1.
    List<String> list=new ArrayList<String>();
    for (int i = 0; i < array2.length; i++) {
        list.add(array2[i]);
    }
     
    String[] arrStrings2={"1","2","3"};
    //方法 2.
    List<String > list2=java.util.Arrays.asList(arrStrings2);
    System.out.println(list2);

    10.Arrays.fill()填充数组;

    1
    2
    3
    4
    5
    6
    int[] arr3=new int[5];
            Arrays.fill(arr3, 10);  //将数组全部填充10
                   //遍历输出
            for (int i = 0; i < arr3.length; i++) {
                System.out.println(arr3[i]);
            }

    11.数组排序;

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //方法 1.
    int[] arr4 = {37219};
    Arrays.sort(arr4);         //.sort(int[] a)   放入数组名字
    for (int i = 0; i < arr4.length; i++) {
        System.out.println(arr4[i]);
    }
    //方法 2.        
    int[] arr5 = {37219,3,45,7,8,8,3,2,65,34,5};
    Arrays.sort(arr5, 14);  //.sort(a, fromIndex, toIndex)    从第几个到第几个之间的进行排序
    for (int i = 0; i < arr5.length; i++) {
            System.out.println(arr5[i]);
    }

    12.复制数组;

    1
    2
    3
    4
    5
    6
    7
    8
    //方法 1.
    int[] arr6 = {3721};
    int[] arr7=Arrays.copyOf(arr6, 10);  //指定新数组的长度
    //方法 2.        
    int[] arr8=Arrays.copyOfRange(arr6, 13); //只复制从索引[1]到索引[3]之间的元素(不包括索引[3]的元素)
    for (int i = 0; i < arr8.length; i++) {
            System.out.println(arr8[i]);
    }

    13.比较两个数组;

    1
    2
    3
    int[] arr9 = {1234,5,6,7,8,9,0};
            boolean arr10=Arrays.equals(arr6, arr9);
            System.out.println(arr10);

    14.去重复;

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    int[] arr11 = {1234,5,6,7,8,9,0,3,2,4,5,6,7,4,32,2,1,1,4,6,3};
    //利用set的特性
    Set<Integer> set2=new HashSet<Integer>();
    for (int i = 0; i < arr11.length; i++) {
        set2.add(arr11[i]);
    }
    System.out.println(set2);
    int[] arr12 = new int[set2.size()];
    int j=0;
    for (Integer i:set2) {
        arr12[j++]=i;
    }
    System.out.println(Arrays.toString(arr12));

    15.查询数组中的最大值和最小值;

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    int[] arr11 = {10234,5,6,7,8,9,0,3,2,4,5,6,7,4,32,2,1,1,4,6,3};
     //计算最大值
    int max = arr11[0];
    for (int i = 1; i < arr11.length; i++) {
         if (arr11[i] > max) {
             max = arr11[i];
        }
      }
      System.out.println("Max is " + max);
      //计算最小值
      int min = arr11[0];
      for (int i = 0; i < arr11.length; i++) {
        if (arr11[i]<min) {
            min = arr11[i];
        }
    }
      System.out.println("Min is " + min);

    附:完整代码:

  • 相关阅读:
    BOI 2002 双调路径
    BOI'98 DAY 2 TASK 1 CONFERENCE CALL Dijkstra/Dijkstra+priority_queue/SPFA
    USACO 2013 November Contest, Silver Problem 2. Crowded Cows 单调队列
    BOI 2003 Problem. Spaceship
    USACO 2006 November Contest Problem. Road Blocks SPFA
    CEOI 2004 Trial session Problem. Journey DFS
    USACO 2015 January Contest, Silver Problem 2. Cow Routing Dijkstra
    LG P1233 木棍加工 动态规划,Dilworth
    LG P1020 导弹拦截 Dilworth
    USACO 2007 February Contest, Silver Problem 3. Silver Cow Party SPFA
  • 原文地址:https://www.cnblogs.com/cxxjohnson/p/8481239.html
Copyright © 2011-2022 走看看