美文网首页
Java核心技术卷一 集合类

Java核心技术卷一 集合类

作者: KIOHES | 来源:发表于2016-08-22 22:38 被阅读46次


首先,在Java中类库将接口(Interface)与实现(implementation)分离的。

所以主要的集合类中首先分成两大类

一个是实现了Collection接口的集合类其中包括三大类:

一、List  //这个集合类是有序的,可重复的容器

(Java中的链表都是双向链接的,意味着可以向后也可以向前遍历和操作,next/previous、hasNext/hasPrevious)

而在List中又分为

    LinkedList--双向链表,可以快速在中间添加,插入,删除推荐使用add,remove。

    ArrayList--使用循环数组实现的队列,在进行随机访问的时候可以选择它或者是数组,推荐使用get( ),和set( )。

二、Set  //add拒绝重复元素

其中含有hashSet,是基于散列表的集,遍历时元素出现的顺序并不是固定的。

还有TreeSet,这是一个有序集合,而且这个排序使用树排序(红黑树)进行的。

三、Queue  //这是队列

有Queue和LinkedList都是双端队列。

还有优先队列priority queue,使用的是堆排序来进行其中元素的排序,并且remove这些方法都是按照其中的元素顺序执行

其中接口有两个基本方法(还有其他,咱不提)

四、stack 栈结构

一、boolean add(E element)

  这是往实现了Collention接口的集合类中添加元素,一旦添加成功则返回true。

二、Iterator<T> iterator()

  这是迭代器,实现了Collention接口的集合类中会提供一个迭代器,来让你可以方便的遍历集合中的元素。

  同时这个也是接口Iterable中需要实现的方法。只要实现了这个方法,就可以用for(E element: e)来遍历实现了这个方法的集合。这个for循环默认的使用迭代器来为我们遍历其中的所有元素。

  另外还有一个Iterator的接口,其中就有提供给我们对集合中的元素进行操作的方法

E next()、boolean hasNext()、void remove()

迭代器是类似于指向集合中逻辑位置相邻两个对象之间的位置,无论你使用(正向遍历,从第一个元素到最后一个)add,next,remove,他都是最迭代器所指的地方上一个对象。

  而且这三个方法互相有关联。在遍历下一个元素时(使用next())时,必须要先对是否存在下一个元素进行判断,否则当已经遍历到最后一个元素并且再次进行next时就会出现Exception。而当使用remove时,必须要使用next。由于我们知道迭代器指向的是对象之间并且进行上一个对象的操作,若是一开始就进行remove操作,万一迭代器在指向第一个元素之前那么就会出现对不存在的元素进行remove操作。所以即使是逻辑之间相邻的元素进行删除,也不能连续使用remove操作。

 

  另一个是实现了Map接口的集合类

  Map(映射表)主要是用于键值对(Key-value)的存储集合类,键key一般是以字符串为准

,其中有hashMap(根据键的内容进行hash(散列)且键必须唯一,不对值进行散列。),和TreeMap。还有个WeakHashMap,他的作用是当对键的唯一引用来自散列表条目时,这一数据结构会与垃圾回收机制协同工作删除键/值对

相关文章

  • Java核心技术卷一 集合类

    首先,在Java中类库将接口(Interface)与实现(implementation)分离的。 所以主要的集合类...

  • 双11Java程序员书单推荐

    Java 《Java核心技术卷I》 《Java核心技术卷II》 《Java编程思想》 《Java并发编程实战》 《...

  • Java核心知识

    Java核心语法 作者:springremember 书籍:《Java核心技术卷一》《Java核心技术卷二》 ja...

  • Java SE基础部分

    Java核心语法 书籍:《Java核心技术卷一》《Java核心技术卷二》 java包结构:核心包,Java1一同出...

  • 记录一些书籍

    JAVA 基础 《Java核心技术·卷1:基础知识》《Java核心技术 卷2:高级特性》《Java8 实战》 并发...

  • java修炼书籍

    1,《java核心技术(卷1)》 2,《java核心技术(卷1)》 3, 《java学习指南(第四版)》 4,《e...

  • 《JAVA核心技术 卷II:高级特性》PDF高清完整版-免费下载

    《JAVA核心技术 卷II:高级特性》PDF高清完整版-免费下载 《JAVA核心技术 卷II:高级特性》PDF高清...

  • Java反射基本知识

    Class类 Class类是什么 用Java核心技术卷的官方话来说:在程序运行期间,Java运行时系统始终为所有的...

  • 2021书单

    2021-01《活着》《如何阅读一本书》2021-11《Java核心技术卷I》《Java核心技术卷II》2021-...

  • 原来我不懂JAVA集合-为何那么多继承和接口实现

    前言 《JAVA核心技术·卷一》第九章-集合,刚看完9.1小节的集合框架介绍突然很多知识点醍醐灌顶般理解了。为什么...

网友评论

      本文标题:Java核心技术卷一 集合类

      本文链接:https://www.haomeiwen.com/subject/cfdbsttx.html