· 问题:
· 既然有了数组,为什么还要ArrayList?__________
· 答:因为数组大小本来不可变;如果要变化,则必须重新分配内存,太消耗资源。
· 数组只能同一种基本数据类型;或者同一个类的对象(排除Object)。
· ArrayList中有重复元素吗?______,因为_______。增加值的顺序是1,3,4,5,1,那么输出的的值顺序为(考虑重复值和值的排序):_______。
· 答:有。因为ArrayList也是在Array的基础之上开发的(或者说:封装了数组),由于数组可以保存重复元素的值,所以ArrayList也可以。输入的值顺序为1,3,4,5,1。道理相同。
· TreeSet中有重复元素吗?________,因为_______。增加值的顺序是1,3,4,5,1,那么输出的的值顺序为_______
· 答:无。因为:ArrayList叫做有序列表,有顺序就可以通过下标来标识,所以元素可以重复。Set叫做无序列表,只能通过值的本身来标识,所以值是不以重复的;由于无序,所以每次输出的结果不可预料。输出结果为:1,3,4,5(可能的顺序,关键是重复的1没有出现。在JDK5.0以后,1可以自动由int转化为Integer类型)。
· 当数据集经常在中间插入、删除时,用集合的哪种类型:_______,因为______。
· 答:LinkedList。因为:LinkedList叫做链表;链表的数据结构适合在元素增加或减少时,对整体的内存没有影响;只是影响两个相邻的元素。而ArryList是底层封装了Array,所以在元素变化时仍然要重新分配内存。
· 当数据集常在后面追加时,用_______,因为_____________。
· 答:用ArrayList。因为SUN针对这个问题做了比较好的封装。
· 单个循环输出,效率比较高的是________,因为___________。
· 答::用ArrayList,因为它是有序列表,是通过下标进行访问的,所以效率最高。
· Vector与ArrayList的区别是:________。
· 答:两者功能完全相同。但是Vector用于多线程,不会有线程安全问题。因为Vector用了Sychronized关键字。而ArrayList没有用,所以ArrayList线程不安全,Vector线程安全。但是Vector被称为“过时的”,是不是就不能用了呢。不是。称为过时的原因是因为ArrayList很容易就变成线程安全的(加一句代码即可),这样ArrayList即可以用于单线程环境,又可以很方便地在多线程环境中使用,所以相比之下Vector就过时了。
· Set中的元素都是不能重复的,那HashSet与TreeSet的区别?
答:假设输入值的顺序为:1,4,3,1,用HashSet输出的顺序为:1,4,3(可能);用TreeSet输出的顺序为:1,3,4(如Windows的文件夹,不能重复,且有顺序)。
· HashTable与HashMap的区别是:_______
答:Table就是表的意思(如学生表的学号列,特征是不能重复,而且不能为空。表是可以多个人访问的,所以线程是安全的)。HashMap的Key值是可以为空的,线程是不安全的。
分享到:
- 2007-08-15 13:17
- 浏览 2244
- 评论(3)
- 论坛回复 / 浏览 (2 / 2663)
- 查看更多
相关推荐
Java通过异常类来表示这些问题,并提供了try-catch-finally结构来捕获和处理异常。 - **自定义异常**:当需要表示特定类型的错误时,可以创建新的异常类继承自已有的异常类。 4. **第六章:集合框架** - **集合与...
"Java入门精通程序"这个资源集合,旨在为初学者提供丰富的学习材料,帮助他们掌握Java编程的基础和进阶技巧。 首先,从标题我们可以推断,这份资源涵盖了从基础到精通的Java编程知识。对于初学者来说,学习Java首先...
Java经典入门教程pdf完整版Java私塾跟我学系列JAⅥ篇网址:htp:/www.lavass.Cn电话:010-86835215 3;Java是一种软件运行平台 3.1:什么是软件的运行平台 如同我们需要阳光、空气、水和食物才能正常存活一样,软件最终要...
这个“Java版本的数据结构和算法(Linux社区版)”压缩包显然是一个专注于Java语言的数据结构与算法的学习资源,特别强调了其原创性,暗示内容可能具有独特性和深度。 数据结构主要包括数组、链表、栈、队列、树、...
这个“新入门 Java 游戏编程教程系列 (6)”的压缩包资源,旨在帮助用户深入理解如何利用Java语言开发游戏,提供了一系列的学习材料。下面将详细介绍这个教程可能涵盖的一些关键知识点: 1. **Java基础知识**:在...
【Java入门 -> 进大厂笔记:open_book::ledger:】未来的你一定会感谢今天学习的自己! 本项目主打Java基础、算法、框架实战、源码、中间件、大数据、面试等知识积累和经验总结。文章共300多篇, 大部分为原创, 部分翻译...
【零基础学Java教程PPT+视频+源代码】是一个全面的Java学习资源包,适合初学者入门。这个教程集合了多种学习材料,包括PPT演示文稿、视频讲解以及配套的源代码,旨在帮助学习者从零开始掌握Java编程语言。 首先,让...
本资源包,"code-roadmap-main",提供了一条原创的编程学习路径,覆盖了Java和前端开发的主要知识点,旨在帮助你高效地掌握编程技能,并在求职过程中脱颖而出。 首先,我们来详细探讨Java编程的基础部分。Java是一...
《中子原创电脑课堂文集》是一部集合了中子教授在中文之家改版后众多电脑教育文章的CHM格式文档。CHM,全称为Compiled HTML Help,是微软开发的一种帮助文件格式,它将HTML页面打包成单一文件,方便阅读和携带。这个...
Junit是一个开源的Java测试框架,由Ernst Berg和Kent Beck创建,它极大地简化了Java程序的单元测试。Junit 3.8是其早期的一个稳定版本,虽然现在已经有了更先进的Junit 5,但Junit 3.8仍然是许多开发者入门测试的...
1. **Java编程基础**:文档可能涵盖Java语法、面向对象编程概念、异常处理、集合框架等内容,这些都是Java开发的基础。 2. **进阶Java技术**:可能包含多线程、网络编程、I/O操作、反射机制、JVM内部工作原理等高级...
因此,建议初学者可以从学习Java的核心概念开始,比如面向对象编程、集合框架、异常处理、泛型、多线程等。 #### 深入理解Android架构 在掌握了Java语言的基础之上,接下来需要对Android系统有一个全面的认识。这...
本文旨在深入探讨Apache Pig的一些基本概念和用法,特别关注于新手入门时可能会遇到的概念混淆和实践难点。 #### 二、关键概念解析 ##### 1. 关系(Relation) 在Pig中,**关系**是最基本的数据结构,可以类比为...
《w3school教程 离线pdf 飞龙整理 20150123》这个资源集合是IT学习者的一份宝贵财富,它涵盖了广泛的Web开发领域,包括前端、后端以及移动端的技术。这里我们将深入探讨其中涉及的一些核心知识点。 1. **HTML与CSS*...
《Hibernate超级经典笔记》是针对Java开发者的一份深入学习Hibernate的宝贵资料,它结合了培训机构的专业教学经验,权威且原创,旨在帮助初学者快速掌握Hibernate的核心概念和技术。 Hibernate是一款流行的开源对象...
(读者注:其实这个应该叫做很基础的入门一下下,如果你看过Hibernate了那这个就非常的简单) (再加一条,其实大家可以看官方的教程更好些:http://mybatis.github.io/mybatis-3/,而且如果英文不是很好的那就看...
由于被打上了“转载”的标签,我们可以推断这些资源可能不是原创,而是对其他来源的集合或整理。 在"Earlybird-master"这个压缩包中,我们可以期待找到一系列与IT发展前沿相关的文件和目录。通常,这样的项目会包含...
《w3school教程 离线版PDF 飞龙整理 20141103》这个压缩包集合了多个IT领域的基础教程,由飞龙精心整理,旨在为学习者提供一个全面且便于离线查阅的学习资源。其中包含了各种编程语言、框架和Web开发技术,覆盖了从...
从最根本上来讲,Spring Boot 就是一些库的集合,它能够被任意项目的构建系统所使用。它使用 “习惯优于配置” (项目中存在大量的配置,此外还内置一个习惯性的配置)的理念让你的项目快速运行起来。用大佬的话来...
【安卓日记本源代码】是一个面向女性用户的日记应用的源代码集合,旨在提供学习和参考。这个项目作为初学者入门的教程资源,可以帮助开发者了解如何在Android平台上开发一个功能完备的日记应用程序。源代码的原创性...