· 问题:
· 既然有了数组,为什么还要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值是可以为空的,线程是不安全的。
分享到:
相关推荐
Java基础入门教程 Java编程技术10 集合框架(略)(共48页).ppt Java基础入门教程 Java编程技术11 Java IO(2学时)(共30页).ppt Java基础入门教程 Java编程技术12 网络编程(2学时)(共20页).ppt Java基础入门教程 ...
Java基础入门 本文档旨在为初学者提供Java基础知识的概述,涵盖了Java是什么、Java能做什么和Java怎样改变我的生活等问题的答案。 什么是Java? Java是一种高级程序语言,也是一个平台。它具有以下特征:简单、...
完整版 Java基础入门教程 Java程序语言设计 03 java对象 集合框架(共18页).ppt 完整版 Java基础入门教程 Java程序语言设计 03 java对象 类和对象1(共23页).ppt 完整版 Java基础入门教程 Java程序语言设计 03 ...
本资源“JAVA基础入门到精通pdf”提供了一条系统学习Java的路径,适合初学者作为入门教程。以下是对Java基础知识的详细解读: 1. **Java概述**:Java是由Sun Microsystems(现为Oracle公司)于1995年推出的一种面向...
此外,还将介绍Java的集合框架,如ArrayList、LinkedList、HashSet、HashMap等,这些都是在实际开发中频繁使用的数据结构。 函数式编程在Java 8之后变得越来越重要。PPT会涵盖Lambda表达式和流API,这是现代Java...
此外,理解Java的核心概念,如类、对象、继承和多态,以及掌握常用的Java库(如集合、I/O流和多线程)和框架,对于成为一名熟练的Java开发者至关重要。 总的来说,这份课后答案文档涵盖了Java入门的各个方面,通过...
"Java基础入门"这个压缩包提供了学习Java编程的基础资源,包括经典的入门书籍源码和JDK11的中文版API文档。 首先,让我们来了解一下Java API。API(Application Programming Interface)是一系列预先定义的函数,...
java Java教程 Java入门教程 Java教程集合java Java教程 Java入门教程 Java教程集合java Java教程 Java入门教程 Java教程集合java Java教程 Java入门教程 Java教程集合java Java教程 Java入门教程 Java教程集合
5. **集合框架**:Java集合框架包括接口(如List、Set、Map)和实现这些接口的类(如ArrayList、HashSet、HashMap)。它们用于存储和管理对象,提供了丰富的操作方法。 6. **输入/输出流**:Java的I/O流库用于处理...
5. **集合框架**:Java集合框架提供了多种数据结构来存储数据,如List、Set、Map等,这方便了数据管理及操作。 6. **Java I/O**:输入输出(I/O)是程序与外界进行交互的重要手段,Java中的I/O流用于处理各种数据的...
十四万字总结,PDF包含了十四个大模块:Java基础知识,数据结构,算法,Java集合框架,Java8新特性,操作系统,网络原理,Java多线程及并发编程,Java的IO模型及网络编程,JVM,Mysql,JavaWeb和一个仿Tomcat实现的...
《Java 7经典入门》是一本非常适合Java初学者使用的教材,书中详细介绍了Java的基本语法、面向对象编程、集合框架、异常处理等核心概念和技术。为了帮助更多的人学习Java 7,作者分享了该书的电子版,读者可以通过...
6. **数组与集合框架**:了解如何使用数组存储和操作数据,并学习Java强大的集合框架,包括List、Set、Map接口和ArrayList、LinkedList、HashSet、HashMap等实现类。 7. **字符串处理**:Java中的String类是经常...
5. **集合框架**:Java集合框架是一组接口和类,用于存储和操作对象。ArrayList、LinkedList、HashSet、HashMap等都是常用的集合类,你需要掌握它们的使用方法和适用场景。 6. **输入/输出(I/O)**:Java的I/O流...
完整版精品java课件 Java基础入门教程 Java程序设计 第6章 数组和集合(共44页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第7章 字符串处理(共38页).ppt 完整版精品java课件 Java基础入门教程 Java...
同时,读者将学习到异常处理,这是编写健壮代码的关键,以及如何使用Java集合框架,如ArrayList、LinkedList、HashMap等,这些都是在实际开发中经常用到的数据结构。 在输入/输出(I/O)和文件操作方面,书籍会教授...
《Java从入门到精通(第4版)》随书PPT是针对初学者和进阶者设计的一套全面的学习资源,旨在帮助读者深入理解和掌握Java编程语言。这套PPT涵盖了从基础语法到高级特性的各个层面,以下是其中可能包含的一些核心知识...
完整版 Java基础入门教程 Java程序语言设计 03 java对象 集合框架(共18页).ppt 完整版 Java基础入门教程 Java程序语言设计 03 java对象 类和对象1(共23页).ppt 完整版 Java基础入门教程 Java程序语言设计 03 ...
5. **集合框架**:Java集合框架是存储和操作对象的重要工具,包括List、Set、Map等接口及其实现类。学习者需要掌握ArrayList、LinkedList、HashSet、HashMap等常用集合的使用。 6. **输入输出流**:Java的I/O流系统...
- **集合框架**:Java2的集合框架提供了丰富的数据结构,如List、Set、Map等,方便开发者管理和操作数据。 - **输入/输出流**:Java2的I/O流类库支持文件读写、网络通信等多种输入输出操作,简化了数据传输的复杂性...