`
johnnycmj
  • 浏览: 36791 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

12、java集合类

 
阅读更多

 

12、java集合类

12.1、Collection框架概览

包位置:java.util

Collection 层次结构 中的根接口。

Collection 表示一组对象,这些对象也称为 collection

 的元素

一些 collection 允许有重复的元素,而另一些则不允许。

一些 collection 是有序的,而另一些则是无序的。

先来了解下集合框架的类图结构。

12.2、集合框架类图结构



 

 

12.3、List接口简介

List是继承Collection的子接口。

List特性:有序、可重复。重复是针对equals()

实现AbstractList的具体类有:

ArrayList、LinkedList、Vector、Stack

12.4、实现List的类特性简介

12.4.1.ArrayList:

1:可变大小,允许所有元素,包括NULL,没有同步。

2:添加元素时开销较大可在大量插入前调用以下方法来初始化容量。ensureCapacity(int minCap)

3:对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢。 

 

12.4.2.LinkedList

1:可用作堆栈、队列或双向队列。

2:可变大小,允许所有元素,包括NULL,没有同步。

3:向List中间插入与删除得开销不大,随机访问则相对较慢(可用ArrayList代替)。

 

12.4.3.Vector

1:可变大小,允许所有元素,包括NULL,线程同步。

2:当一个Iterator被创建且正在使用,另一个线程改变了Vector状态,这时再调用Iterator时将抛出ConcurrentModificationException(并发修改)

12.4.4 Iterator接口的认识

Iterator  接口

    所有的collection接口都有一个iterator方法返回的是一个   

    Iterator接口对象

 

    Itertator 对象称为迭代器,为遍历容器内的元素而生

    Itertator所有的collection接口都有一个iterator方法返回的是一个Iterator接口对象

boolean   hasNext();//判断游标右边是否还有元素

object      next(); //返回游标右边的元素游标并往后移动一位

void     remove();//删除游标左边的元素


 

12.4.5 Iterator模式的意图和适用性

意图:

提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。

适用性:

访问一个聚合对象的内容而无需暴露它的内部表示。 

支持对聚合对象的多种遍历。 

为遍历不同的聚合结构提供一个统一的接口(即, 支持多态迭代)。 

12.5 实现Set接口的类特性简介

实现Set接口的常用类:HashSet、 TreeSet、 LinkedHashSet特性简介不能包含重复元素,即任意两个元素e1.equal(e2)=false.

1.HashSet: 为快速查找而设计的Set。存入HashSet的对象必须定义hashCode()。 

2.TreeSet: 保持次序的Set,底层为树结构。使用它可以从Set中提取有序的序列(默认从小到大)。 

3.LinkedHashSet: 具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入的次序)。于是在使用迭代器遍历Set时,结果会按元素插入的次序显示。

 

12.6 Collection/Map的子接口

继承自Collection的接口较多,其中常用的接口有:

List

Set

注意Map是独立接口,并未继承Collection

实现Map接口的主要有HashMap,HashTable,SortedHashMap等

实现map接口的常用类有:HashTable、HashMap、WeakHashMap

HashTable:同步,不允许NULL键与NULL值

HashMap:不同步,允许NULL键与NULL值

WeakHashMap:改进后的HashMap,对Key实行弱引用,如果一个Key不再被外部引用,那么该Key可以被GC回收

 

  • 大小: 14.9 KB
  • 大小: 10.2 KB
  • 大小: 21.7 KB
分享到:
评论

相关推荐

    java集合类详解(set list ArrayList等java集合类详述)

    Java 集合类详解 Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、...

    java集合类线程安全.doc

    所涉及的集合类不仅包括 Java SE 1.2 引入的集合类,还包括旧集合类(Java SE 1.2 前引入)和新集合类(Java SE 5 引入)。 Java 线程安全的等级定义根据 Bloch 的定义,将线程安全分为五个等级: 1. 非可变:如果...

    Java集合排序及java集合类详解.pdf

    Java集合排序及java集合类详解.pdf

    Java 集合排序及java 集合类详解

    Java 集合排序及java 集合类详解 Java 集合排序及java 集合类详解,Java里面最重要、最常用也就是集合那部分了,能够用好集合和理解好集合对于做Java程序的开发拥有无比的好处。本教程详细解释了关于Java中的集合是...

    第13讲 JAVA集合类.ppt

    Java集合类是Java编程语言中用于存储和管理对象的关键组件,它们构成了Java Collections Framework的核心。这个框架提供了一组高效、灵活的数据结构,使得开发者能够轻松地处理数据集合,而无需关心底层实现的复杂性...

    java自定义集合类

    自定义集合类则是开发者根据特定需求扩展Java集合框架的行为,以满足个性化或特定业务场景的功能需求。以下是对"java自定义集合类"这一主题的详细解释。 首先,Java集合框架包括接口(如List、Set、Map)和实现这些...

    Java集合排序及java集合类详解

    在本篇中,我们将深入探讨Java集合的排序机制以及集合类的详细使用。 首先,我们来了解一下Java集合的基本分类。Java集合主要分为两大类:List(列表)和Set(集)。List是一个有序的集合,允许元素重复,并且可以...

    一张图让你看清Java集合类

    一张图让你看清Java集合类 所有精华 集于一图 一目了然 形象易懂 十分中肯 绝对干货!

    Java集合类图片

    Java集合类,在图片上体现出来,为了更好的描述,本来是博客里的,不好往博客里插,所以单独弄出来了。

    java集合类详解

    Java集合类是Java语言中用来存储数据的结构,它们是Java开发中非常重要的组件。在Java 2平台之前,集合框架的组成较为零散,自Java 2平台的JDK 1.2版本之后,引入了集合框架(Collections Framework),为集合类提供...

    java集合类演示源码

    集合类的框架为集合的实现者提供了大量的接口和抽象类,并对其中的某些机制给予了描述,例如,Iterator(迭代协议)。实现Comparable接口或Comparator接口,用户可以根据需要对集合中的元素进行排序。为了方便用户...

    java集合类总结

    本文将对Java集合框架中的Collection接口及其相关接口、类进行深入的探讨。 首先,Collection接口是所有单值容器的基础,它是Set、List和Queue接口的父接口。Collection接口定义了通用的操作方法,如`add()`用于...

    Java集合详解,详细讲解java的集合类

    本文将深入讲解Java集合类,特别是Collection接口和其下的List、Set,以及Map接口中的几个重要实现类。 首先,我们来看Collection接口。Collection是最基本的集合接口,它代表一组Object,即它的元素。Collection...

    Java集合类性能分析

    ### Java集合类性能分析 #### 一、Java集合框架概览 Java集合框架是一个非常重要的概念,它提供了处理数据集合的标准方法。集合框架的核心部分主要包括集合接口、抽象类以及具体的实现类。 - **集合接口**:Java...

    java 集合类 容器类

    ### Java集合类与容器类详解 #### 一、引言 在Java编程中,集合类是一种非常重要的数据结构,用于存储一系列对象。相比于数组,集合类提供了更多的灵活性和功能,尤其是在处理未知数量的对象时更为方便。Java标准...

    java集合类面试题总结

    Java 集合类面试题总结 Java 集合类是 Java 语言中的一种重要组件,用于存储和操作数据。下面总结了 Java 集合类的一些常见问题和答案。 HashMap 和 Hashtable 的区别 HashMap 和 Hashtable 都是 Java 中的散列表...

    Java集合类矩阵图

    Java集合类矩阵图是Java编程中非常重要的一个概念,它主要涵盖了Java集合框架中的各种接口、类以及它们之间的关系。这个矩阵图可以帮助开发者更清晰地理解Java集合框架的层次结构和实现方式。在这个矩阵图中,你可以...

    java常用集合类总结

    "Java集合类总结" Java集合类是Java语言中的一种重要数据结构,用于存储和管理数据。Java集合类可以分为两种:Collection接口和Map接口。Collection接口有两个子接口:List接口和Set接口。List接口是有序的,可以...

Global site tag (gtag.js) - Google Analytics