javase讲义(容器).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
javase讲义(容器)

Java数组 数组的定义 数组是多个相同类型数据的组合,是对这些数据的统一管理。数组的定义方式包括静态定义和动态定义。(例子:ArrayTest1.1) 数组的物理实现方式 数组变量属于引用类型,数组也是对象。数组对象在堆内存中占有连续的内存地址。安装需求分配对应的空间。数组下标从0开始。 数组中的元素可以是任意数据类型,包括基本类型和引用类型。 数组的声明和初始化方式 数组的声明方式: String myString[]; String[] myString; java语言声明数组的时候,不能指定数组的长度。但在构造数组对象时应当指明长度。 数组的动态初始化。数组的定义与为数组元素分配空间和赋值的操作分开进行。 数组的静态初始化。在定义数组的同时就为数组元素分配空间并赋值。(例子:ArrayTest2.0) 数组的使用方法 定义并new出数组对象后,才可以引用数组中的每个元素,数组的引用方式为:arrayName[index]。 例如:array[1]、array[i]、array[i*6]。 每个数据都有length属性指明数组长度。 数组元素下标从0开始一直到length-1(例子:ArrayTest1.0) 当方法返回多个相同类型的结果时,可以考虑使用数组。 数组的优点和缺点 数组是一种访问和存储效率最高的容器,但是数组只能存同一种类型的数据,并且数组长度不可变,在整个数组对象的生命周期中是固定的。 数组的缺点是长度不可变并且只能装一种类型的数据。 数组的优点是访问效率高。 数组的优势在于性能而不是灵活性。 多维数组 多维数组就是装有数组指针的数组。 二维数组可以看成以数组为元素的数组。 多维数组的声明和初始化应该从第一维开始到多维。(例子:ArrayTest3.0) 数组的常用方法 在java.util.Arrays中存在一些常用的操作数组的方法,equals()用于比较两个数组是否相等。fill()用某个数填充数组。sort()用于数组排序。binarySearch()查找元素位置。toString()将数组字符串化。hashCode()获取散列码值。(例子ArrayTest4.0) Java集合(collection) 容器的概念 java中的容器是用于存放其他类的类,和数组类似,但是数组是大小不可变的容器,如果需要使用可变大小的容器必须使用集合类。 集合类API 集合类都继承了collection接口,在collection接口中定义了,集合相关的基本方法。例如:add、remove、container和size等方法。 Set接口 Set接口继承自collection接口,具有collection接口相应的方法。用Set集合装的元素是无序不可重复的。由于Set中的元素是无序的,所以不能用循环遍历的方式访问。set中的元素是不可重复的。 Set一般使用iterator接口进行访问。Iterator的方法包括hasNext(用于判断是否存在下一个元素)和next(用于获取下一个元素)(例子:CollectionTest1.0) Set接口的实现类除了HashSet还有TreeSet。 对象的比较 需要比较两个对象是否相等,jvm会调用equals方法和hashCode方法,对于自定义的引用类型的数据需要重写equals方法和hashCode方法来定义判断相等的规则。 你需要保证如果两个对象的hashcode值不等,则equals方法得到的结果必定为false;如果两个对象的hashcode值相等,则equals方法得到的结果未知。你需要保证如果调用equals方法得到的结果为true,则两个对象的hashcode值必定相等;如果equals方法得到的结果为false,则两个对象的hashcode值不一定不同。不同的对象可能会生成相同的hashcode值,只能根据hashcode值判断两个对象不等,判断两个对象是否真正相等,必须通过equals方法。重写equals方法和hashCode方法始终需要在逻辑上保持一致性,并且唯一对象的hashCode要唯一。(例子:CollectionTest2.0) 需要比较两个对象的大小,需要实现Comparable,需要重写compareTo方法。(例子:CollectionTest3.0) List接口 List接口继承自collection接口,具有collection接口相应的方法。用List集合装的元素是有序可重复。由于List中的元素是有序的,所以能用循环遍历的方式访问。list中的元素是可重复的。 List接口的实现类包括ArrayList和LinkedLis

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档