怎么在Java中定义数组

  介绍

这期内容当中小编将会给大家带来有关怎么在Java中定义数组,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

数组排序

在很多的面试题上都会出现数组排序的操作形式。但是这个时候你千万别写上:java.util.Arrays.sort(数组)。而这种排序都是以升序为主。

基础的排序操作:

范例:冒泡排序

public  class  ArrayDemo  {   public  static  void 主要(String 参数[]),{   int 数据[],=,new  int[],{9,, 3,, 1,,,,,, 2,, 7日,8日,6日,0};   (数据);   printArray(数据);   }      public  static  void 排序(arr int []),{,//实现数组排的序   (int  x =, 0;, x  & lt;, arr.length 作用;1;,x + +), {   (int  y =, 0;, y  & lt;, arr.length 作用;x 作用;1;,y + +), {   如果(arr [y],祝辞,arr [y + 1]), {   int  temp =, arr [y];   arr [y],=, arr [y + 1];   arr [y + 1],=,温度;   }   }   }   }//定义一个专门进行数组输出的方法   public  static  void  printArray (int 临时[]),{   for  (int 小姐:=,0;,小姐:& lt;, temp.length;,我+ +),{   System.out.print(临时[我],+,“,“);   }   System.out.println ();   }   }

数组转置

所谓的转置最简单的理解就是首尾交换。而如果要想实现这样的交换有两种实现思路。

思路一:开辟一个新的等长的数组,而后将原始数组倒序保存进去;

public  class  ArrayDemo  {   public  static  void 主要(String 参数[]),{   int 数据[],=,new  int[],{9,, 3,, 1,,,,,, 2,, 7日,8日,6日,0};=data 反向(数据);,//反转   printArray(数据);   }   public  static  int [],反向(arr int  []), {,   int 临时[],=,new  int [arr.length];   int  foot =, 0;   (int  x =, arr.length 作用;1;,x 祝辞=,0;,x -), {   临时(脚+ +),=,arr [x];   }   return 温度;   }//定义一个专门进行数组输出的方法   public  static  void  printArray (int 临时[]),{   for  (int 小姐:=,0;,小姐:& lt;, temp.length;,我+ +),{   System.out.print(临时[我],+,“,“);   }   System.out.println ();   }   }

使用此类模式实现的最大问题在于开辟了两块相同的堆内存空间,所以造成空间浪费。

思路二:在一个数组上完成转换

public  class  ArrayDemo  {   public  static  void 主要(String 参数[]),{   int 数据[],=,new  int[],{9,, 3,, 1,,,,,, 2,, 7日,8日,6日,0};   反向(数据),,//反转   printArray(数据);   }      public  static  void 反向(arr int  []), {   int  center =, arr.length /, 2,,//转换次数   int  head =, 0,,//头部开始索引   int  tail =, arr.length 作用;1;,//尾部开始索引   (int  x =, 0;, x  & lt;,中心;,x + +), {   int  temp =, arr(头);   arr(头),=,arr(尾);   arr(尾巴),=,温度;   头+ +;   尾巴——;   }   }//定义一个专门进行数组输出的方法   public  static  void  printArray (int 临时[]),{   for  (int 小姐:=,0;,小姐:& lt;, temp.length;,我+ +),{   System.out.print(临时[我],+,“,“);   }   System.out.println ();   }   }

这种转换只需要根据数组长度÷2即可。

如果要进行二维数组的原地转置,那么肯定有一个前提:行列要相等。

范例:保证中间轴不变(x=y)

public  class  ArrayDemo  {   public  static  void 主要(String 参数[]),{   int 数据[][],=,new  int[][],{{1,, 2,, 3},,{4日,5日,6},{7,8,9}};   反向(数据),,//反转   printArray(数据);   }      public  static  void 反向(arr int  [] []), {   (int  x =, 0;, x  & lt;, arr.length;, x + +), {   (int  y =, x,, y  & lt;, arr [x] . length;, y + +), {   如果(x  !=, y), {   int  temp =, arr [x] [y];   加勒比海盗[x] [y],=, arr [y] [x];   arr [y] [x],=,温度;   }   }   }   }//定义一个专门进行数组输出的方法   public  static  void  printArray (int 临时[][]),{   for  (int 小姐:=,0;,小姐:& lt;, temp.length;,我+ +),{   (int  j =, 0;, j  & lt;,临时[我]. length;, j + +), {   System.out.print(临时[我][j], +,“,“);   }   System.out.println ();   }   System.out.println ();   }   }

怎么在Java中定义数组