`
njuptsoz
  • 浏览: 91494 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

有关容器的复习笔记

    博客分类:
  • Java
阅读更多

马上就要毕业了,最近忙着复习一些基础知识。为的就是能在应聘的时候有个好的表现。

其实有半个学期没有接触java了,希望这次复习能够让自己在即将到来的应聘中,有个上等的表现。

 

这次复习的是java容器 方面的知识。

 

什么是java容器:

 

查了一下百度百科,发现是这么定义的:

百度百科写道
Java容器类包含List、ArrayList、Vector及map、HashTable、HashMap

 

自己也查了一些资料,也明白了在java.util的包内,有着容器的接口:Collection和Map。

 

Collection这个接口里面定义了一些存取对象 的方法。

Collection又被两个接口继承:Set 和 List。

Set 和 List 的主要区别就是 Set中没有顺序,而且可以存放重复对象,而List则刚好相反。

 

Map这个接口主要是定义了存储键值映射对的方法。

 

比如ArrayList和LinkedList是实现List的接口(关于ArrayList和LinkedList的区别 );

      ArrayList 和 LinkList 的区别就是:A读快改慢 L读慢改快。

      HashSet是实现Set的接口;

 

而 HashMap是实现Map的接口。

 

Collection有一系列的方法,其中,比较重要的方法就是iterator ,这个方法返回的是 Iterator对象。

 

这个Iterator也是一个接口。里面定义了三个方法

Iterator接口定义的方法 写道
boolean hasNext()
如果仍有元素可以迭代,则返回 true。

E  next()
返回迭代的下一个元素。

void remove()
从迭代器指向的集合中移除迭代器返回的最后一个元素(可选操作)。
 

在迭代过程中,应使用Iterator的remove方法移除Collection的对象。

 

 

现在再复习一下List这个接口,在这个接口里面,最重要的实现有两个:ArrayList 和 LinkedList

查看API文档得知List 除了继承了Collection的方法之外,还另外定义了一些方法。

诸如 get, set, indexOf 等等。

 

然后就是Map,HashMap 和 TreeMap是两种重要的实现。

 

最后就是泛型。关于泛型的好处,参照这里

 

至此,java容器应该是复习完了。如果还有知识点没有注意到,欢迎指出

2
2
分享到:
评论
6 楼 qinjingkai 2009-04-13  
楼主要说的是复习java中的集合类把,什么容器类 听上去很另人费解
5 楼 njuptsoz 2009-01-11  
jianchen 写道

引用:[b引用]Set 和 List 的主要区别就是 Set中没有顺序,而且可以存放重复对象,而List则刚好相反。[/b]我想应该是笔误吧.纠正一下:Set中的元素是没有顺序,但不可以重复的对象.想想也知道,Set是数学中集合的概念的抽象.而List是一个有序的集合,也可称为列表或序列.List中可以包含重复的元素,类似与数组咯,通过索引来存取元素.我们比较常用的是Vector.


是啊,笔误了。集合没有顺序,也不可以有重复的元素!谢谢提醒!
4 楼 jianchen 2008-12-07  
引用:[b
引用
]Set 和 List 的主要区别就是 Set中没有顺序,而且可以存放重复对象,而List则刚好相反。
[/b]
我想应该是笔误吧.纠正一下:
Set中的元素是没有顺序,但不可以重复的对象.想想也知道,Set是数学中集合的概念的抽象.
而List是一个有序的集合,也可称为列表或序列.List中可以包含重复的元素,类似与数组咯,通过索引来存取元素.我们比较常用的是Vector.
3 楼 njuptsoz 2008-10-03  
谢谢提醒
2 楼 njuptsoz 2008-10-03  
dayang2001911 写道

HashMap 与HashTable之间的不同之处是什么?

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都实现了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。

HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。

Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。

Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

1 楼 dayang2001911 2008-10-03  
HashMap 与HashTable之间的不同之处是什么?
HashMap 是非线程安全的,HashTable是线程安全的。
你再继续查查其他的区别,这个区别应该常考

相关推荐

    java ee 复习笔记

    Java EE的复习笔记是学习这个复杂框架的重要参考资料,尤其对于开发者来说,深入理解其核心概念和技术是必不可少的。 首先,Struts是Java EE中的一个MVC(Model-View-Controller)框架,它的主要任务是分离业务逻辑...

    java复习笔记

    这份"java复习笔记"旨在帮助学习者系统地回顾和深入理解Java的关键概念和技术,以便于提升编程技能和应对各种开发挑战。 一、基础语法 Java的基础语法包括变量、数据类型、运算符、流程控制语句等。例如,变量是...

    软考高级系统架构师经验复习笔记仅供个人学习使用

    这篇复习笔记将为你提供一些关键的学习方向和重点,帮助你构建一个全面的系统架构知识框架。 一、系统架构基础 系统架构是软件开发过程中的核心部分,它定义了系统的总体结构、组件、接口以及它们之间的关系。理解...

    C++快速复习笔记.rar

    这份"C++快速复习笔记"旨在帮助程序员迅速回顾和掌握C++的关键概念和技术。以下是对笔记内容的详细解读: 一、基础语法 C++的基础语法包括变量声明、数据类型(如int、char、float、double)、运算符(如算术运算符...

    Java复习笔记.docx

    * 变量概念及作用:变量是存储数据的容器 * 变量的定义(声明):使用 `type` `name` 语句定义变量 * 变量的赋值:使用 `=` 语句将值赋给变量 * 变量分类:变量可以分为基本数据类型和引用类型 常量 常量是 Java ...

    Java基础复习笔记.docx

    这份《Java基础复习笔记.docx》提供了全面的复习材料,涵盖了Java编程的基础至进阶概念,对于那些希望提升Java技能的学习者来说是宝贵的资源。 首先,笔记详细介绍了Java的基本数据类型,包括整型(如int)、浮点型...

    人教版-中考化学-复习笔记.pdf

    【中考化学复习笔记】 在中考化学的复习过程中,掌握基本概念和实验技能至关重要。下面将对复习笔记中的关键知识点进行详细解析。 1. 物质的变化和性质: - 物理变化与化学变化的区别在于是否有新物质生成。物理...

    超详细的Java复习知识点2019——个人笔记.zip

    这份名为"超详细的Java复习知识点2019——个人笔记"的文档,旨在为初学者提供一个全面且深入理解Java基础知识的指南。笔记内容可能涵盖了以下几个关键领域: 1. **Java语法基础**:包括变量、数据类型、运算符、...

    javaweb期末复习笔记

    - **变量**:存储数据的容器。 - **常量**:使用`final`修饰符声明,值不可变。 - **数据类型转换**: - **自动转换**:如从`byte`到`int`。 - **强制转换**:如`(int) doubleValue`。 - **运算符**: - **一元...

    Spring-IoC 复习笔记.rar

    **Spring-IoC 复习笔记** Spring 框架是 Java 开发中不可或缺的一部分,其核心特性之一就是依赖注入(Dependency Injection,简称 DI),也称为控制反转(Inversion of Control,简称 IoC)。IoC 是一种设计模式,...

    2020年秋招C++岗面试复习笔记.zip

    这份名为“2020年秋招C++岗面试复习笔记.zip”的压缩包文件,显然是一份专门为准备C++岗位面试而编纂的学习资料。它包含了大量的C++相关的面试题目和核心知识,旨在帮助应聘者顺利通过大厂的面试,提升专业技能。...

    SCWCD考前复习笔记!

    本篇复习笔记将深入探讨Servlet技术模型及其相关知识点。 Servlet技术是Java EE平台的核心组成部分,用于处理HTTP请求。Servlet是一个Java类,它扩展了`javax.servlet.GenericServlet`或实现了`javax.servlet....

    python复习笔记1

    Python是一种高级编程语言,以其简洁易读的语法和强大的功能而受到广泛欢迎。在Python中,序列类型是数据结构的基础,包括列表和元组。...通过不断实践和复习,可以进一步巩固这些知识,提升编程技能。

    JavaEE复习笔记 _ HWY大佬1

    【JavaEE复习笔记】 在JavaEE开发中,Servlet是一个核心组件,它负责处理HTTP请求并生成响应。Servlet是一个Java接口,定义了Web应用程序中的服务端组件。`javax.servlet.Servlet`接口是所有Servlet的基础,而`...

    c++开发面试准备复习笔记.zip

    这份"c++开发面试准备复习笔记.zip"包含了一系列的资源,旨在帮助程序员深入理解和熟练运用C++,以便在大厂的面试中脱颖而出。以下是根据描述和标签提炼出的一些关键知识点,以及可能在面试中遇到的问题和相关领域的...

    最全小学数学复习笔记(注释).doc

    小学数学复习笔记主要涵盖了几何图形、统计图表、行程问题以及体积和容积等核心概念。以下是这些知识点的详细说明: 1. 行程问题: - 行程问题涉及速度、时间和路程三者的关系。基本关系式为:速度 × 时间 = 路程...

    华中科技大学计算机学院《C语言程序设计》期末复习笔记.zip

    这份期末复习笔记涵盖了C语言的主要知识点,旨在帮助学生系统地回顾和巩固所学内容,为考试做好充分准备。 首先,我们要理解C语言的基础概念。C语言是一种结构化编程语言,由贝尔实验室的Dennis Ritchie于1972年...

    c++复习笔记 自己的 适合初学者

    这份“C++复习笔记”是专为初学者设计的,旨在帮助新接触C++的人快速掌握其核心概念和常用技巧。笔记包含了大量的实际代码示例,使学习者能够通过实践更好地理解理论。 1. **基础语法**:C++的基础包括变量(如int...

    java笔记(个人复习笔记)

    这是一种强拥有关系,被包含的类实例通常不能独立于容器类存在。 1. **组合的特点**: - 一个类包含另一个类的对象作为其成员变量。 - 被包含的类实例生命周期依赖于容器类。 **关联**(use-a):关联表示两个类...

Global site tag (gtag.js) - Google Analytics