• 二数组深化


    多维数组:

      二维数组就是存储一维数组的数组
     1 package com.zqf.Array;
     2 public class TestArray {
     3  public static void main(String[] args) {
     4   //(1)数组可以存储基本数据类型和引用数据类型
     5   int [] arrA= {11,22,33,44};  //一维数组,引用数据类型
     6   /**数据类型 [] 数组名= new 数据类型[长度]*/
     7   System.out.println(arrA);
     8   //(2)二维数组存储一维数组的数组
     9   int [] [] arrB= new int [3][];
    10   //使用二维数组去存储一维数组
    11   arrB[0] = arrA;
    12   System.out.println(arrB);
    13  }
    14 }
     1 package com.zqf.Array;
     2    public class TestArray2 {
     3        public static void main(String[] args) {
     4        //二维数组不是规则的矩阵
     5        int [] intA[] = {{1,2},{2,3,4},{3,4,5,6}};
     6        System.out.println(intA);
     7   
     8      //声明一个二维数组,用于存储3个一维数组,每一个一维数组存多少个数组,不知道,null
     9       int [][]intB= new int[3][];
    10       intB[0] = new int[3];//3
    11       intB[1]= new int []{1,2,3,4};
    12       intB[2] = new int [2]; //2
    13       System.out.println(intB);
    14       //声明一个二维数组,同时创建出一维数组,每个一维数组的长度均相同
    15       //存储三个一维数组,每个一维数组的长度为4
    16       int []intC[] = new int [3][4];
    17       System.out.println(intC);
    18      }
    19      }

    Object数组存储表格数据:

     1 package com.zqf.Array;
     2 public class Object {
     3  private String name; //姓名
     4  private int age;   //年龄
     5  private String gender;   //性别
     6  public String getName() {
     7   return name;
     8  }
     9  public void setName(String name) {
    10   this.name = name;
    11  }
    12  public int getAge() {
    13   return age;
    14  }
    15  public void setAge(int age) {
    16   this.age = age;
    17  }
    18  public String getGender() {
    19   return gender;
    20  }
    21  public void setGender(String gender) {
    22   this.gender = gender;
    23  }
    24  
    25  public Object(String name, int age, String gender) {
    26   super();
    27   this.name = name;
    28   this.age = age;
    29   this.gender = gender;
    30  }
    31  public Object(){
    32   super();
    33  }
    34 }
    package com.zqf.Array;
    public class TestObject {
     public static void main(String[] args ){
      //创建一个Object类型的数组,用于存储3个Object类型的对象
      Object [] o = new Object[3];
      //创建Object类型的对象
      Object o1 = new Object("张三",19,"男");
      o[0] = o1;
      o[1]= new Object("李四",20,"女");
      o[2] = new Object("王五",28,"男");
      for (int i=0;i<o.length;i++){
       System.out.println(o[i]);
      }
      
     }
    }

    java.util.Arrays工具类的使用

          Arrays类中的常用方法
     1.toString()打印数组
     2.equals比较两个数组是否相同
     3.copyOf(...)复制指定的数组
     4.fill(...)填充
     5.sort(...)数组排序
        对象数组的排序

    冒泡排序的基础算法:

     1 package com.zqf.Array;
     2 import java.util.Arrays;
     3 public class TestBubble {
     4  public static void main(String[] args) {
     5   // TODO Auto-generated method stub
     6   int [] array= {33,11,44,22,55 };
     7   System.out.println("排序之前的序列"+Arrays.toString(array));
     8   for(int i=0;i<4;i++){
     9    for(int j=0;j<4;j++){
    10     //比较相邻两数
    11     if (array[j]>array[j+1]){
    12      //第三变量交换
    13      int temp = array[j];
    14      array[j]= array[j+1];
    15      array[j+1] = temp;
    16     }
    17    }
    18   }
    19   //排序之后的数组
    20   System.out.println("排序之后:"+Arrays.toString(array));
    21  }
    22 }

    排序之前的序列[33, 11, 44, 22, 55]排序之后:[11, 22, 33, 44, 55]

    冒泡优化:

     1 package com.zqf.Array;
     2 import java.util.Arrays;
     3 public class TestBubble2 {
     4  public static void main(String[] args) {
     5   // TODO Auto-generated method stub
     6   int [] array= {33,11,44,22,55 };
     7   System.out.println("排序之前的序列"+Arrays.toString(array));
     8   boolean flag;
     9   int count = 0;
    10   for(int i=0;i<array.length-1;i++){          //5个数,比4次,N-1
    11    flag = true; //默认有序
    12    count++;   //统计比较的轮数
    13    //每轮比较的次数
    14    for(int j=0;j<array.length-1-i;j++){  //无需比较到数组的最后,只需要比较无序数列部分即可
    15     //两两相比 
    16     if(array[j]>array[j+1]){
    17      int temp = array[j];
    18      array[j]= array[j+1];
    19      array[j+1] = temp;
    20      flag = false ;   //数据中的元素无序,发生了交换
    21     }
    22    }
    23    if(flag){
    24     break; //退出循环,证明数组有序
    25    }
    26   }
    27   //排序之后的数组
    28   System.out.println("排序之后:"+Arrays.toString(array));
    29   System.out.println("一共比较了"+count+"轮");
    30  }
    31 }

    排序之前的序列[33, 11, 44, 22, 55]

    排序之后:[11, 22, 33, 44, 55]
    一共比较了3轮
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    eclipse web项目没有run on server
    npm install 包 失败解决方法
    svn already lock解决方法
    查看centos的版本
    SmartGit 授权Non-Commerical
    http://jingyan.baidu.com/article/dca1fa6fa07000f1a44052f6.html
    http://zhidao.baidu.com/link?url=3tJ_i5gyYLrd7rFPk0eRYre_oxjCZvTOMOutp89LGhUgi6Ic6Ncama_GMAHnwfF73SVYGqy364vDfv6AY4ERPa
    http://www.oschina.net/code/snippet_12_13918
    http://www.360doc.com/content/12/0516/14/1671317_211422841.shtml
    https://v2ex.com/t/170386
  • 原文地址:https://www.cnblogs.com/zqfdgzrc/p/10435576.html
Copyright © 2020-2023  润新知