Java面试题集(二)list与Map相关知识(1.2).pdfVIP

Java面试题集(二)list与Map相关知识(1.2).pdf

  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文档。上传文档
查看更多
Java⾯试题集(⼆)list与Map相关知识(1.2) 前⾔: 在平常的写java程序中,常⽤除了8种常⽤数据类型,String对象外,还有集合类,例如ArrayList,HashMap等,这些最常⽤。 ⼀、List接⼝   List接⼝为Collection直接接⼝。List所代表的是有序的Collection (容器),即⽤某种特定的插⼊顺序维护元素顺序。使⽤者可以对列表 中每个元素插⼊的位置进⾏精确的控制。然后可以根据元素的整数索引访问元素,并搜索列表中的元素。例如:get (1);实现List接⼝的 集合主要有:ArrayList、LinkedList、Vector、Stack。   1-1:ArrayList     ArrayList是⼀个动态数组,也是我们使⽤最多的集合。它允许任何符号规则的元素插⼊(包括null)。每⼀个ArrayList都有⼀个初 始容量(10),该容量代表了数组的⼤⼩。随着容器的元素不断增加,容器的⼤⼩也会⾃动增加,在每次向容器中增加元素的同时都会进⾏ 容器检查,当快溢出时,就会进⾏扩容操作。(如果我们明确所插⼊的元素的多少,最好指定⼀个初始容量值,避免过度的进⾏扩容操作⽽ 影响程序性能。)   常⽤的操作:size,isEmpty,get,set,iterator 和 listIterator,都是以固定时间运⾏。   ArrayList 擅长随机访问,因为基于动态数组的数据结构原因。(联想物理存址的概念)   (⾮同步的,多线程访问下同⼀个List,需要实现访问同步)   1-2:LinkedList     LinkedList是⼀个双向链表,除了有ArrayList的基本操作以外,还额外提供了get,remove,insert⽅法在LinkedList的⾸部或尾部。 由于LinkedList是基于双重链表的数据结构,所有操作都要按照该数据结构执⾏,在列表中索引的操作将从开头或结尾遍历列表(从靠近指 定索引的⼀端),可以通过较低的代价在List中进⾏插⼊和删除操作。(联想链表的物理存址⽅便性)     与ArrayList ⼀样,(⾮同步的,多线程访问下同⼀个List,需要实现访问同步)   1-3:Vector     与ArrayList相似,但是Vector是同步的。Vector是线程安全的动态数组。它的操作与ArrayList⼏乎⼀样,(但是写代码时候很少⽤ 到,也不知道为什么。)   1-4:Stack     Stack继承⾃Vector,实现⼀个后进先出的堆栈。Stack提供5个额外的⽅法使得Vector得以被当作堆栈使⽤。基本的push和pop ⽅ 法,还有peek⽅法得到栈顶的元素,empty⽅法测试堆栈是否为空,search⽅法检测⼀个元素在堆栈中的位置。Stack刚创建后是空栈。     (但是写代码时候很少⽤到,也不知道为什么。) ⼆、Set接⼝   set是⼀种不包括重复元素的Collection。它维持⾃⼰的内部排序,并不能随机访问,与List⼀样,允许null的存在,但是仅有⼀个,由于 Set接⼝的特殊性,传⼊Set集合中的元素都必须不同,同事要注意任何可变对象,如果在对集合中元素进⾏操作时,导致 e1.equals(e2)==true,则必定会产⽣某些问题。   Set接⼝的集合有:EnumSet、HashSet、TreeSet   :2-1:EnumSet   ⼀看Enum就知道是枚举的Set,所有元素都是枚举类型。因为其内部是以HashCode来实现的,内部   2-2 :HashSet   HashSet堪称查询速度最快的集合,因为其内部是以HashCode来实现的,内部元素的顺序由哈希码来决定,所以迭代顺序不清楚。   2-3 :TreeSet   基于TreeMap,⽣成⼀个总是处于排序状态的set,内部以TreeMap来实现。是使⽤元素的⾃然顺序对元素进⾏排序,或者根据创建Set 是提供的Comparator进⾏排序,具体取决于使⽤的构造⽅法。 三、Map接⼝   Map与List、Set接⼝不同,他是由⼀系列键值对组成的集合,提供了key-value的映射,同时也没有继承Collection。在Map中,他保证 了key与value之间的对应关系,不会存在相同的key,Map的put⽅法不允许key重复的。   3-1 :HashMap   ⼀看就知道是以哈希表数据结构实现,查找对象时,通过哈希函数计算其位置,为了快速查询。内部定义了⼀个hash表数组(Entry[ ] tabl

文档评论(0)

领航教育 + 关注
实名认证
服务提供商

专注于中小学教案的个性定制:修改,审批等。本人已有2年教写相关工作经验,具有基本的教案定制,修改,审批等能力。可承接教案,读后感,检讨书,工作计划书等多方面的个性化服务。欢迎大家咨询^

1亿VIP精品文档

相关文档