zoukankan      html  css  js  c++  java
  • 学习笔记——Java数组

    1.创建一维数组

      最简单快捷的方法是:声明的同时为数组分配内存。如:

      int month[]=new int[12]
    

      也可以先声明再分配内存。如:

      int month[];   //或int[] month;
      month=new int[12];  
    

      在初始化一维数组时,可采用两种方法。如:

      int arr[]=new int[]{1,2,3,4,5};
      或者:int arr[]={1,2,3,4,5};
    

    2.创建二维数组

      创建二维数组的方法和一维数组一样有两种方法。如:

      //先声明再分配
       int arr[][];
       arr=new int[2][4];
      //直接分配
       int arr[][]=new int[2][4];
    

      注:分配内存时可以分配为每一维分配,常用于非规则数组。如:

       int a[][];
       a=new int[2][];
       a[0]=new int[4];
       a[1]=new int[5];
    

      关于二维数组的操作,要学会使用foreach语句遍历二维数组。

       int arr[][]={{2,3},{3,7},{6,5}};
       for(int x[]:arr){
           for(int e:x){
              system.out.print(e+' ');
           }
       }
    

    3.数组操作

      3.1 填充元素

        导入java.util.Arrays后,使用fill()方法。如:

          Arrays.fill(arr,8);
        Arrays.fill(arr,1,2,8); //在第一个到第二个(不包括)元素间填充8

      3.2 排序

           导入java.util.Arrays后,使用Arrays.sort()方法。如:

          int arr[]={2,5,1,7,6};
          Arrays.sort(arr);
    

      3.3 复制数组

        使用Arrays类的两个方法:

        copyOf():复制数组到指定长度数组。如:

        int arr[]={21,45,46};  
        int newarr[]=Arrays.copyOf(arr,5);   //newarr数组为:21,45,46,0,0
    

        copyOfRange():复制指定长度数组元素到新数组。如: 

        int arr[]={1,4,5,7,8,9};
        int newarr[]=Arrays.copyOfRange(arr,0,3);
    

      3.4 数组查询

        Arrays类的binarySearch()方法提供了多种重载,可使用二分查找方式搜索。如:

        binarySearch(Object[],key)、binarySearch(Object[],int fromIndex,int toIndex,int key).

      3.5 数组排序算法

        掌握冒泡排序、直接选择排序等基本排序算法的Java程序书写。下面以冒泡排序为例,自己用Java写一下该算法:

      public class BubbleSort{
          public void main(String[] args){
            int arr[]={2,4,8,5,6,10,1};
           //创建BubbleSort的实例,调用方法sort排序
            BubbleSort sorter=new BubbleSort();
            sorter.sort(arr);
          public void sort(int array[]){
              for(int i=0;i<array.length();i++){
                 for(int j=array.length()-2;j>i;j--){
                      if(array[j+1]<array[j]){
                          int temp=array[j+1];
                          array[j+1]=array[j];
                          array[j]=temp;
                    } 
                }    
          }
      } 
                      
    

      

        

  • 相关阅读:
    异常日志以及非异常日志记录方法
    oracle 监测数据库是否存在指定字段
    listview禁止双击一条之后选中复选框按钮的方法
    oracle 的rowid和rownum
    修改文件的名字的写法
    使用C#读取XML节点,修改XML节点
    BZOJ 1004: [HNOI2008]Cards
    P5022 旅行 (NOIP2018)
    P5021 赛道修建 (NOIP2018)
    P5020 货币系统 (NOIP2018)
  • 原文地址:https://www.cnblogs.com/tangzhirong/p/4660957.html
Copyright © 2011-2022 走看看