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

Java Core II 读书笔记(二)集合框架

    博客分类:
  • Java
阅读更多

集合框架

概述:如果熟悉C++ STL 的朋友肯定会发现 Java 的集合类库设计思路与STL的思路有很多相同之处,如泛型算法、迭代器等。Java为所有集合类设计了一些通用的接口,去操作所有实现集合类。

Java集合类库公共接口:

1.       Iterator<E> iterator()

2.       int size()

3.       boolean isEmpty()

4.       boolean contains(Object obj)

5.       boolean containsAll(Collection<?> other)

6.       boolean add(Object element)

7.       boolean addAll(Collection<? extends E> other)

8.       boolean remove(Object obj)

9.       boolean removeAll(Collection<?> other)

10.   void clear()

11.   boolean retainAll(Collection<?> other)

12.   Object[] toArray()

    纵观一下集合框架和一般数据结构一样,都提供了对这个数据结构的增、删、改、查、迭代操作。

 Java集合类库实现:

(1)    ArrayList

(2)    LinkedListjava的链表是双向链表)

(3)    HashSet

(4)    TReeSet

(5)    EnumSet

(6)    LinkedHashSet

(7)    PriorityQueue

(8)    HashMap

(9)    treeMap

(10)EnumMap

(11)LinkedHashMap(链状散列表:链表与散列表的复合结构,主要为了散列表排序)

(12)WeakHashMap(弱散列表)

(13)IdentityHashMap(标识散列表-它的键值是对象内存地址)

 纵观一下Java集合框架的实现,和所有优秀的集合类库一样,都提供了对基本数据结构,数组、链表、队列、散列集、散列表、树列集、树列表的支持

 Java集合框架:

  

 



Classes in the collections framework

Java旧集合类库

Java放弃以前旧的集合类,主要是由于这些集合类都是线程同步的,后来java集合类库的设计者认为真正的实际应用不大,所有就重新设计了Java集合类库,而为线程同步设计了专门的集合类,如同步队列等。设计者为了程序编写者的方便为不安全的Java集合类库,设计了一个包装器,程序编写者也可以通过包装器去对不安全的集合对象实现线程安全的操作。

 Java的包装器和视图

     java为了让一些集合类,拥有另外一种特性,为这些集合设计了包装器和视图,如为了以线程安全的方式去访问不安全的集合对象;为了以数组下标的方式去方法链表元素等。表面上看上去另外某些数据结构了特性,其实内部操作却是以另外一种方式去处理的。也许java是想提供一种接口的操作方式。

 集合类库算法

    java这种思想源于C++,类库框架先定义一种接口去描述某些操作,具体算法采取可装配的方式去处理。如类库的查找与排序等算法,当前java已经为你提供了很多优秀的算法,你也可以装配自己的算法去实现排序,查找。

分享到:
评论

相关推荐

    java\CoreJava笔记\CoreJAVA_day01

    - 类库:Java提供了丰富的标准类库,如集合框架、I/O流、网络编程、多线程等,这些是开发中常用的工具。 4. **开发环境**: - IDE(Integrated Development Environment):如Eclipse、NetBeans、IntelliJ IDEA等...

    学习笔记 java\CoreJava笔记\CoreJava_day11

    CoreJava_day11的学习笔记主要涵盖了集合框架,特别是关于List、Set和Map接口,以及ArrayList、Vector和LinkedList等具体实现类的知识点。 首先,集合框架是用来存放对象的对象,它提供了一组接口和类,使得我们...

    达内Java培训-CoreJava全程笔记(WORD唐亮版)

    CoreJava DAY01 Java概述 1 CoreJava DAY02 数据类型和控制结构 6 CoreJava DAY03 数组 11 CoreJava DAY04 15 CoreJava DAY05 面向对象 17 CoreJava DAY06 类的加载过程、实例化、继承、多态 20 CoreJava DAY07修饰...

    学习笔记 java\CoreJava笔记\CoreJava_day15

    在Java编程语言中,Core Java是基础且至关重要的部分,涵盖了面向对象编程的基本概念、类、对象、包、异常处理、输入输出、集合框架、多线程、网络编程等多个核心主题。以下是对"CoreJava_day15"学习笔记中可能涉及...

    学习笔记 java\CoreJava笔记\CoreJava_day12

    在Java编程语言中,SortedSet接口是Set接口的一个子接口,它添加了对集合元素排序的能力。SortedSet接口要求其实现类必须维护元素的排序顺序,这种顺序可以是元素的自然顺序(即元素自身可比较),也可以是通过提供...

    corejava学习笔记

    - `java.util`提供了算法、数据结构、集合框架、日期时间等工具类。 - `java.sql`和`javax.sql`用于数据库操作。 12. **数值类型转换** - Java中有严格的数值类型转换规则,包括自动类型提升和显式类型转换。...

    CoreJava全套详细笔记资料.pdf

    CoreJava全套详细笔记资料.pdf CoreJava是Java编程语言的核心部分,涵盖了Java语言的基础知识和高级应用。以下是对给定文件的详细解读和知识点总结: 一、原码、反码、补码 * 原码是指一个数的二进制表示形式,...

    Corejava 核心java笔记

    "Corejava"通常指的是Java的基础部分,包括语法、面向对象编程概念、集合框架、IO流、多线程、异常处理等核心概念。这份名为"Corejava 核心java笔记"的资料应该包含了作者在学习Java基础时的一些理解和实践心得,...

    达内core_java学习笔记

    本篇笔记主要针对初学者,旨在帮助他们掌握Core Java的关键知识点。 一、Java语言基础 Java语言的基础包括语法、数据类型、变量、运算符和控制流程。在Java中,数据类型分为基本类型(如int、char、boolean)和引用...

    Core Java Volume II--Advanced Features(10th) Java核心技术第10版 第二卷 英文版

    本卷是第二部分,主要关注Java的高级特性,包括并发、网络、图形用户界面(GUI)、XML处理、数据库访问、反射、注解、Java集合框架的高级用法等。以下是这些关键知识点的详细介绍: 1. **并发**:Java提供了一套...

    corejava集合框架学习总结.pdf

    ### 核心Java集合框架学习总结 #### 一、概述 在Java编程语言中,集合框架是一组用于存储和操作对象的接口和类。这些接口和类提供了多种数据组织方式,如列表、集合并和映射等。本篇文章将重点介绍集合框架中的几...

    Core-Java-2.-Volume-II.rar_Core Java Volume II_core java II_core

    《Core Java 2 Volume II》是Java开发领域中一本经典的参考书籍,主要针对有经验的Java程序员,深入探讨了Java的高级特性和功能。这本书的第8版,即"Advanced Features"部分,提供了关于Java技术的详尽指南,涵盖了...

    java学习笔记 达内笔记(经典)

    (二)面向对象技术总结.pdf (三)corejava高级特性总结 (四)接口学习总结 (五)异常和内部类 (六)集合框架学习总结 (七)GUI和AWT事件模型 (八)多线程学习总结 (九)输入输出流学习总结 (十)网络编程学习总结

    史上最强的java面试题 corejava javaWeb SSH框架

    Core Java涵盖了语言基础、集合框架、多线程、IO流、异常处理、反射、枚举、泛型等关键概念。例如,了解如何有效地使用集合类(如ArrayList、LinkedList、HashMap)对于优化程序性能至关重要。多线程是并发编程的...

    corejava课程笔记.rar

    《CoreJava课程笔记详解》 CoreJava是Java编程的基础,对于任何想要深入理解Java语言的开发者来说,都是不可或缺的知识库。这份"corejava课程笔记.rar"压缩包包含了为期17天的学习内容,全面覆盖了CoreJava的核心...

    Core.Java.Volume.II.Advanced.Features.10th.Edition.2016.12.pdf

    本书是《Core Java》系列的第二卷,主要介绍Java编程语言的高级特性。鉴于文档内容为OCR扫描结果,个别文字可能存在识别错误或遗漏。 《Core Java Volume II》是Java开发者的重要参考资料,尤其适合已经具备Java...

    学习笔记 java\CoreJava笔记\CoreJava_day06

    在Java编程语言中,继承是面向对象编程的一个关键特性,它允许子类继承父类的属性和方法,从而实现代码的复用和扩展。在Java中,类的继承是单继承的,即一个子类只能有一个直接父类,但可以通过接口实现多继承的效果...

Global site tag (gtag.js) - Google Analytics