java lesson 18
1. 有这样一个类:
// getter and setter
要求:假如有若干个类Person对象存在一个List当中,对他们进行排序,分别按照名字、年龄、id进行排序(要有正序与倒序两种排序方式)。假如年龄或者姓名重复,按照id的正序进行排序。要求使用策略模式进行。
2. HashSet底层是使用HashMap实现的。当使用add方法将对象添加到Set当中时,实际上是将该对象作为底层所维护的Map对象的key,而value则都是同一个Object对象(该对象我们用不上);
3. HashMap底层维护一个数组,我们向HashMap中所放置的对象实际上是存储在该数组当中;
4. 当向HashMap中put一对键值时,它会根据key的hashCode值计算出一个位置,该位置就是此对象准备往数组中存放的位置。
5. 如果该位置没有对象存在,就将此对象直接放进数组当中;如果该位置已经有对象存在了,则顺着此存在的对象的链开始寻找(Entry类有一个Entry类型的next成员变量,指向了该对象的下一个对象),如果此链上有对象的话,再去使用equals方法进行比较,如果对此链上的某个对象的equals方法比较为false,则将该对象放到数组当中,然后将数组中该位置以前存在的那个对象链接到此对象的后面。
6. HashMap的内存实现布局:
7. 所谓泛型:就是变量类型的参数化。
1. 有这样一个类:
// getter and setter
要求:假如有若干个类Person对象存在一个List当中,对他们进行排序,分别按照名字、年龄、id进行排序(要有正序与倒序两种排序方式)。假如年龄或者姓名重复,按照id的正序进行排序。要求使用策略模式进行。
2. HashSet底层是使用HashMap实现的。当使用add方法将对象添加到Set当中时,实际上是将该对象作为底层所维护的Map对象的key,而value则都是同一个Object对象(该对象我们用不上);
3. HashMap底层维护一个数组,我们向HashMap中所放置的对象实际上是存储在该数组当中;
4. 当向HashMap中put一对键值时,它会根据key的hashCode值计算出一个位置,该位置就是此对象准备往数组中存放的位置。
5. 如果该位置没有对象存在,就将此对象直接放进数组当中;如果该位置已经有对象存在了,则顺着此存在的对象的链开始寻找(Entry类有一个Entry类型的next成员变量,指向了该对象的下一个对象),如果此链上有对象的话,再去使用equals方法进行比较,如果对此链上的某个对象的equals方法比较为false,则将该对象放到数组当中,然后将数组中该位置以前存在的那个对象链接到此对象的后面。
6. HashMap的内存实现布局:
7. 所谓泛型:就是变量类型的参数化。
发表评论
-
已前的学习笔记java lesson 20
2012-01-03 13:26 847java lesson 20 1. 要想使用反射,首先需要获得 ... -
已前的学习笔记java lesson 19
2012-01-03 13:25 709java lesson 19 1. 当遍历集合或数组时,如果需 ... -
已前的学习笔记java lesson 17
2012-01-03 13:22 699java lesson 17 1. 当向ArrayList添加 ... -
已前的学习笔记java lesson 16
2012-01-02 15:54 804java lesson 16 1. 对于Java中 ... -
已前的学习笔记java lesson 15
2012-01-02 15:52 865java lesson 15 1. 包装类( ... -
已前的学习笔记java lesson 14
2012-01-02 15:49 844java lesson 14 1. 接口中所 ... -
已前的学习笔记java lesson 13
2012-01-02 15:45 634java lesson 13 Java SE Lesson 2 ... -
已前的学习笔记java lesson 12
2012-01-02 15:43 694JAVA lesson 12 1. 类是一种 ... -
已前的学习笔记java lesson 11
2012-01-01 12:51 720Java lesson 11 1. 如果一个类包含了属性与方法 ... -
已前的学习笔记java lesson 11
2011-12-31 15:02 0Java lesson 11 1. 如果一个类包含了属性与方法 ... -
已前的学习笔记java lesson 10
2011-12-31 14:42 727Java lesson 10 1. 类中的属性又叫做成员变量( ... -
已前的学习笔记java lesson 9
2011-12-31 14:17 687Java lesson 9 1. 面向对象 ... -
已前的学习笔记java lesson 8
2011-12-31 14:00 780Java lesson 8 1. break语句:经常用在循环 ... -
已前的学习笔记java lesson 7
2011-12-31 12:00 688Java lesson 7 1. Java中的循环控制语句一共 ... -
已前的学习笔记java lesson 6
2011-12-31 11:31 788Java lesson 6 1. 条件运算符(三元表达式),其 ... -
已前的学习笔记java lesson 5
2011-12-30 22:29 705Java lesson 5 运算符 关系运算符 1.大于(&g ... -
已前的学习笔记java lesson 4
2011-12-30 21:33 725Java lesson 4 运算符(operator) pub ... -
已前的学习笔记java lesson 3
2011-12-30 21:02 605Java lesson 3 Pitfall of primit ... -
已前的学习笔记java lesson 2
2011-12-30 20:02 667Java lesson 2 Primitive date ty ... -
已前的学习笔记java lesson 1
2011-12-30 18:15 634Lesson 1 Java se java standard ...
相关推荐
java技术从入门到精通(孙鑫)学习笔记-Lesson2
java技术从入门到精通(孙鑫)学习笔记Lesson4
【Java学习笔记】是针对Java编程语言的一份详尽的学习资料,主要由“圣思源”提供,旨在帮助初学者和进阶者深入理解和掌握Java技术。这份笔记可能包含了从基础语法到高级特性的全面讲解,结合了理论与实践,通过实例...
"java技术从入门到精通(孙鑫)学习笔记Lesson1"涵盖了Java的基础知识,包括JDK、JRE、J2SE、J2EE和J2ME等核心概念。 JDK,全称为Java Develop Kit,是Java开发工具包,包含了编译器、调试器和各种工具,用于编写、...
java技术从入门到精通(孙鑫)学习笔记Lesson3(接口)
java技术从入门到精通(孙鑫)学习笔记Lesson10(网络编程)
Java 多线程是编程中的重要概念,尤其在并发处理和高效系统设计中扮演着关键角色。本节主要探讨了Java中的线程概念以及如何创建...通过不断的实践和学习,可以更好地利用Java的多线程特性来提升软件的性能和用户体验。
【Java技术从入门到精通——Lesson3学习笔记】 在Java编程语言中,包(package)是一种组织类的方式,它的引入主要是为了管理和解决大型项目中大量类的命名冲突问题。包在Java中扮演着类似文件系统目录的角色,允许...
本篇笔记主要关注的是继承这一概念。 继承允许我们创建一个新类,这个新类可以从现有的类(父类或超类)中继承属性和行为。这样做的好处是可以减少代码重复,提高代码的复用性,并且使得类之间的关系更加清晰。在...
面向对象编程是Java技术的核心,它是以对象为...理解这些概念是深入学习Java技术的基础,也是成为一名精通Java的程序员所必需的。通过实践和不断学习,你可以更好地掌握面向对象编程的精髓,提高编程效率和代码质量。
本篇笔记主要讨论了几个关键的数据结构,包括LinkedList、ArrayList以及HashSet,并通过实例展示了它们的用法。 首先,LinkedList是一个实现了List接口的类,它采用双向循环链表实现。这意味着每个节点包含一个数据...
【压缩包子文件的文件名称列表】:由于只给出了“two lesson”这一条信息,我们可以假设压缩包内包含了一系列与Java编程第二课相关的文件,可能有PPT课件、代码示例、笔记文档、练习题等,用于帮助学习者理解并掌握...
通过学习这个“圣思园Java.web笔记”,开发者可以系统地掌握Java Web开发的基本技能,为构建动态、交互性强的Web应用程序打下坚实的基础。无论是初学者还是有经验的开发者,都能从中受益,提升自己的技术水平。
:仅列出“eighteen lesson”,这可能是压缩包内的一个目录或者一系列文件的总称,可能包括PPT课件、PDF讲义、Java源代码文件(.java)、执行脚本(.bat或.sh)、笔记文档(.txt或.md)等,用于辅助学习第18课的Java...
《Java学习》是一个全面深入的Java编程学习资源,包含了丰富的笔记和配套代码,旨在帮助学习者更好地理解和掌握Java编程语言。这个压缩包文件是学习Java过程中的重要参考资料,它包括了多个子目录,每个子目录代表了...
【标题】:“小贝程序员生活\课件\java\javaclass\thirteen lesson.rar” 提供的是一份关于Java编程的课程资料,其中包含了第十三课的内容。这个压缩包很可能是针对初学者或者有一定基础的Java开发者设计的,旨在...
描述中同样提到“小贝程序员生活\课件\java\javaclass\one lesson.rar”,这暗示了这个压缩包的内容与Java编程语言的“javaclass”部分相关,可能包含课件、笔记、代码示例或教学视频等学习资源。"javaclass"通常指...
描述中提到的路径结构暗示这是一个关于Java类和对象的学习资料,可能包括PPT、笔记、代码示例等。"小贝程序员生活"可能是讲师或课程系列的名字,而"\java\javaclass"表明内容专注于Java语言的基础和高级特性,特别是...
【压缩包子文件的文件名称列表】:仅给出“nine lesson”,这可能是压缩包内的主目录或者文件夹名,里面可能包含了该课程的PPT、代码示例、笔记文档、视频教程等各类学习资源,帮助学习者理解和实践Java类的使用。...