import java.util.Arrays;

public class Array {

public static void main(String[] args){
  
  Array test=new Array();
  test.test1();
  test.test2();
  test.test3();
  test.test4();
  }
 
 //test1 
 public void test1(){
  System.out.println("*****************************");
  System.out.println("test1_initial");
  System.out.println("*****************************");
  
  //array1
  int[] array1;  
  array1=new int[5];  
  int length=array1.length;
  for(int i=0;i<length;i++){
   System.out.println("int[] "+array1[i]);
  }
  //array2
  float array2[]=new float[5];
  for(int i=0;i<array2.length;i++){
   System.out.println("float[] "+array1[i]);
  }
  //array3
  boolean array3[]={true,false,false,false,false};
  for(boolean element:array3){
   System.out.println("boolean[] "+element);
  }
  //array4    数组长度不可变,长度可以为0
  double array4[]=new double[0];  
 }
 
 //test2
 public void test2(){
  System.out.println("*****************************");
  System.out.println("test2_copy");
  System.out.println("*****************************");
  
  //array5
  short[] array5={1111,2222,3333,4444,5555};
  for(short element:array5){
   System.out.println("array5[] "+element);
  }
  
  //array6和array5指向同一数组
  short array6[]=array5;
  array6[0]=6666;
  System.out.println("array5[0] & array6[0] is "
       +array5[0]+"&"+array6[0]);
  
  //array7, 类Arrays包含对数组
  //进行操作的一些列方法(如搜索、排序)
  short[] array7=Arrays.copyOf(array5,array5.length-1);
  for(short element:array7){
   System.out.println("array7[] "+element);
  }  
  array7[0]=0;
  System.out.println("array5[0] & array7[0] is "
    +array5[0]+"&"+array7[0]);
 }
 
 //test3
 public void test3(){
  System.out.println("*****************************");
  System.out.println("test2_search & sort");
  System.out.println("*****************************");
  //array8,sort()  
  long[] array8={100000,100005,100008,100006,100001,
      100003,100010,100011,100020,100099};
  Arrays.sort(array8);
  System.out.println("aftter sorting array[8] "+
       Arrays.toString(array8));
  
  //array9, binarySearch()
  byte[] array9={1,2,25,54,89,123,68,23,45,98,100};
  Arrays.sort(array9);//
  int searchIndex=Arrays.binarySearch(array9,(byte)23);
  System.out.println("searchIndex array9 "+searchIndex);
 }
 
 //test4
 public void test4(){
  System.out.println("*****************************");
  System.out.println("test4_multidimensional_array");
  System.out.println("*****************************");
  //array10,initial  
  int[][] array10={
    {12,23,54,66},
    {456,8798,1245,7855,456},
    {77,89,653,123,1111,2222},
    {852,963,741,753,7777,8888,99999}
    };
  System.out.println("行数 array10.length is "+array10.length);
  for(int i=0;i<array10.length;i++){
   System.out.println("line "+i+" has "
        +array10[i].length+" column");
  }
  
 }
   
}

JAVA —— 数组的更多相关文章

  1. Java 数组

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[100 ...

  2. 第5章 Java数组

    1.什么是数组 数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据 例如:int[] scores = {78,68,94,93}; 2.如何使用Java中的数组 2.1申明数组 ...

  3. Java 数组基础

    数组 数组(Array):相同类型数据的集合. 定义数组 方式1(推荐,更能表明数组类型) type[] 变量名 = new type[数组中元素的个数]; 比如: int[] a = new int ...

  4. Java数组及其内存分配

    几乎所有的程序设计语言都支持数组.Java也不例外.当我们需要多个类型相同的变量的时候,就考虑定义一个数组.在Java中,数组变量是引用类型的变量,同时因为Java是典型的静态语言,因此它的数组也是静 ...

  5. [转载]Java数组扩容算法及Java对它的应用

    原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组 ...

  6. Java数组技巧攻略

      Java数组技巧攻略 0.  声明一个数组(Declare an array) String[] aArray = new String[5]; String[] bArray = {" ...

  7. Java数组扩容算法及Java对它的应用

    1)Java数组对象的大小是固定不变的,数组对象是不可扩容的.利用数组复制方法可以变通的实现数组扩容.System.arraycopy()可以复制数组.Arrays.copyOf()可以简便的创建数组 ...

  8. Java数组与vector互转

    Java数组与vector互转 /* Object[] object1 = null ; //数组定义 Vector<Object> object2;//Vector定义 object2 ...

  9. 比较Java数组,ArrayList,LinkedList,Vector 性能比较

    public class PerformanceTester { public static final int TIMES=100000; public static abstract class ...

  10. Java数组的12个常用方法

    以下是12个关于Java数组最常用的方法,它们是stackoverflow得票最高的问题. 声明一个数组 String[] aArray = new String[5]; String[] bArra ...

随机推荐

  1. UVALive 3890 Most Distant Point from the Sea(凸包最大内接园)

    一个n个点的凸多边形,求多边形中离多边形边界最远的距离.实际上就是求凸包最大内接圆的半径. 利用半平面交求解,每次二分枚举半径d,然后将凸包每条边所代表的半平面沿其垂直单位法向量平移d,看所有平移后的 ...

  2. [置顶] Codeforces Round #197 (Div. 2)(完全)

    http://codeforces.com/contest/339/ 这场正是水题大放送,在家晚上限制,赛后做了虚拟比赛 A,B 乱搞水题 C 我是贪心过的,枚举一下第一个拿的,然后选使差值最小的那个 ...

  3. hdu - 4975 - A simple Gaussian elimination problem.(最大流量)

    意甲冠军:要在N好M行和列以及列的数字矩阵和,每个元件的尺寸不超过9,询问是否有这样的矩阵,是独一无二的N(1 ≤ N ≤ 500) , M(1 ≤ M ≤ 500). 主题链接:http://acm ...

  4. Linux 该文件命令查看内容

    Linux系统,请使用以下命令来查看文件的内容: cat tac  从最后一行開始显示.能够看出 tac 是 cat 的倒著写! nl   显示的时候,顺道输出行号! more 一页一页的显示文件内容 ...

  5. Path相关评论的方法(一)

    以前的主要是关于Canvas的translate(平移) .scale(缩放) .rotate(旋转) .skew(错切).接下来几篇主要讲下android里的Path(封装了贝塞尔曲线)&  ...

  6. 面向对象的方式进行数据交换网络之间的差异--无缝切换的发展到单机游戏C/S模式

    上一页本文描述描述有关数据的发展过程之间的差异支撑点,这里展示的另一个特点:无缝切换的发展,以独立C/S模式 一般C/S模式都面临一个问题: 就是开发过程中的调试难题,由于涉及到client和服务端相 ...

  7. Could not load file or assembly&#39;System.Data.SQLite.dll&#39; or one of its depedencies

    [问题]  在我本机的开发环境c#连接sqlite3没有问题,但是release版本号移植到其它的机器就提示Could not load file or assembly'System.Data. ...

  8. 设计模式(一)工厂模式Factory(创建类型)

    设计模式一 工厂模式Factory 在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的.可是在一些情况下, new操作符直接生成对象会带来一些问题. ...

  9. 重新想象 Windows 8 Store Apps (12) - 控件之 GridView 特性: 拖动项, 项尺寸可变, 分组显示

    原文:重新想象 Windows 8 Store Apps (12) - 控件之 GridView 特性: 拖动项, 项尺寸可变, 分组显示 [源码下载] 重新想象 Windows 8 Store Ap ...

  10. 开源NetWorkSocket通讯组件

    开源NetWorkSocket通讯组件   前言 在<化茧成蝶,开源NetWorkSocket通讯组件>发表之后,收到大家很多个star,在此感谢!更可贵的是,一些网友提出了许多好建议,经 ...