网站大量收购独家精品文档,联系QQ:2885784924

技术总结_数组_王惠霞.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
技术总结_数组_王惠霞

Array(数组) 一.概要 数组是一种数据结构,用来存储同一类型值的集合。通常我们通过一个整数下标来访问数组中的每一个值。 Java所有“存储及随机访问一连串对象”的做法,array是最有效的一种。但缺点是:容量固定且无法动态改变,并且无法判断其中实际存有多少元素,length只是告诉我们array的容量。 若撰写程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,不适用需要使用g[] arr = new String[] {here, there, where}; for (String one:arr) { System.out.println(one); } 如果需要处理一个集合中的所有元素的话,“for each”循环语句的改进的确让人省心。然而,在很多情况下,还是需要使用传统的for语句。例如:如果不希望遍历整个集合,或者在循环内部需要操作下标值就需要使用传统的for循环。 2.数组初始化 在Java中,提供一种创建数组对象并同时赋予初始值的简化书写形式。 Int[] myArr = {1,3,5,7,9,11}; 甚至还可以初始化一个匿名数组: new int[] {2,4,6,8,10}; 在java中,允许数组的长度为0。在编写一个结果为数组的方法时,如果碰巧结果为空,那么这种语法形式就显得非常有用。此时,可以创建一个长度为0的数组:new String[0],注意:数组长度为0,与null不同。 3. 数组拷贝 在Java中,允许将一个数组变量拷贝给另一个数组变量。这时,两个变量将因用同一个数组: Int[] myArrays = yourArrays; myArrays[2] = 5; 此时,yourArrays[2] 的值也是5。 如果希望将一个数组中的所有值都拷贝到另一个数组中去,可以使用System.arraycopy()方法。语法格式为:System.arraycopy(from, fromPos, to, toPos, length),数组to必须有足够的空间来存放拷贝的元素。 示例: String[] from = new String[] {sun, here, there, where}; String[] to = new String[] {-, -, -, -,-}; System.arraycopy(from, 0, to, 1, 2); for (String one:to) { Log.i(to, (one==null)? NULL : one); } 打印的结果为: - sun here - - 4. Java中提供java.util.Arrays类,专门用来操作数组。 例如:想对数值型数组进行排序,可以使用这个类。它提供静态sort方法,这个方法使用了优化的快速排序算法。 static void sort(type [] a) //数值型数组排序 Arrays类还提供下面一些静态方法,方便我们对数组进行操作。 static int binarySearch(type[] a, type v) //使用二分算法查找v static void fill(type[] a, type v) //将数组的所有元素设置为v static Boolean equals(type[] a, type[] b) //如果两个数组长度相同,并且下标相同的元素都对应相同,则返回true. 5.不规则数组 Java实际上没有多维数组,只有一维数组。多维数组解释为“数组的数组”。 例如:int [7][6] multiArr = new int[7][6]; 是分配了包含7个指针的一个数组,然后,指针数组的每一个元素被分配了一个包含6个数值的数组。 因为可以单独的存取数组的某一行,所以可以很方便的构造一个“不规则”数组,即数组的每一行有不同的长度。例如:存放一个下三角矩阵。 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 创建一个不规则的数组,首先要分配一个具有所含行数的数组。 final int RMAX = 6; Int[][] odds = new int[RMAX][]; 接下来,分配这些行。 for(int i=0; i RMAX; i++) { odds[i] = new int[i]; } 在分配了数组之后,假定没有超出边界,就可以采用通常的方式访问其中的元素了。 for (int i=0; iodds.length; i++) { for (int j=0; jodd[i].length; j++) { //To…do } } 6.动态数组 对资源的合理利用是我们一直比较关

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档