2024年java集合基础介绍

java集合基础介绍Java 集合框架 Java 集合框架基础介绍 集合框架的组成介绍 Iterator Collection List 接口 Set 接口 Queue 接口 Map 接口 HashMap LinkedHashMa TreeMap WeakHashMap HashTable 工具类 Collections Arrays java 集合基础介绍 Java 集合框架基础介绍 我们都学习过基础的数据结构了

大家好,我是讯享网,很高兴认识大家。



Java集合框架

  • Java集合框架基础介绍
  • 集合框架的组成介绍
  • Iterator
  • Collection
  • List接口
  • Set接口
  • Queue接口
  • Map接口
  • HashMap
  • LinkedHashMap
  • TreeMap
  • WeakHashMap
  • HashTable
  • 工具类
  • Collections
  • Arrays

Java集合框架基础介绍

我们都学习过基础的数据结构了,比如说数组、链表等。为什么还需要学集合框架呢?

这其中最重要的一点就是集合更加高级和灵活。除此之外集合还提供了一系列的方法供我们使用,比起我们单独使用数组或者链表要方便的多。

集合框架的组成介绍

java基本框架有哪些 java的基础框架_数据

Iterator

由图可以看出来,Iterator接口可以被Collection接口使用,Collection接口又可以被Map接口使用(后面会做解释)。Iterator下有LinkIterator,List接口可以使用。

Iterator我们称为迭代器,我们可以不用去管集合的底层结构,对集合进行遍历的行为。迭代器是一种设计模式。

Collection

Collection接口中的子接口有List接口、Set接口、Queue接口和AbstractCollection接口。这里我们主要讲List接口、Set接口和Queue接口。

Collection接口中,我们主要存储的是相同类型的数据。我们主要从以下三个方面来分析:数据是否可以重复、数据是否有序(包括插入有序和访问有序)、是否可以存储NULL值。

List接口

List接口下常用的集合有ArrayList、LinkedList和Vector。

List接口可以存储重复的元素,存储的数据是有序的(此处为插入有序),并且可以存储NULL值。List接口下的集合,除了Vector以外,都是线程不安全的。

Set接口

set 接口下常用的集合有HashSet、LinkedHashSet、TreeSet。

Set接口下的集合是基于Map集合实现的。因此许多的特点与Map集合是十分相似的。

Set接口下的集合不可以存储重复的数据,存储的数据是无序的,可以仅仅存储一个NULL值。Set接口下的集合都是线程不安全的。

Queue接口

Queue接口下常用的集合有PriorityQueue(优先级队列)、BlockingQueue(阻塞队列)、DeQueue(双向队列)。

Queue接口下的集合可以存储重复的数据,存储的数据是有序(有序是基于数据特征)、不可以存储NULL值。

PriorityQueue是一个队列,但其获取最大值以及最小值时,其实现结构是平衡二叉树。

BlockingQueue也是一个队列,它用在最多的地方是多线程的处理。

Map接口

Map接口中的子接口有AbstractMap和SortedMap。但其实我们只需要讲AbstractMap就可以把Map中的集合说完。Map集合中常用的有:HashMap、LinkedHashMap、TreeMap、WeakHashMap、HashTable。

Map接口下,除了HashTable以外,其余的都是线程不安全的。

Map接口中,我们主要是以键值对(Key-Value)的形式进行数据的存储。Map接口下的集合我们同样用上面的三个方面来探讨。

HashMap

HashMap是AbstractMap抽象类的一个实现类之一。

HashMap不可以存储重复的数据、存储的数据是无序的、Key和value分别可以存储最多一个NULL值。

LinkedHashMap

LinkedHashMap继承自HashMap,实际上是优化了HashMap存储的数据无序的特点,底层是以链表的形式连接起来。

java基本框架有哪些 java的基础框架_List_02

TreeMap

TreeMap继承自SortedMap和AbstractMap。TreeMap可以通过实现实现比较器来进行自定义排序。

TreeMap不可以存储重复的数据,存储的数据是有序的(仅第一个元素是有序的:最大或最小的),不可以存储NULL值。

WeakHashMap

WeakHashMap是继承自AbstractMap。WeakHashMap同样也是HashMap,但其键值对中的Key是弱键,会在JVM(Java Virtual Machine)进行GC操作时,如果Key没有对象引用整个Entry实体就会被回收。

HashTable

HashTable继承自AbstractMap。

HashTable不可以存储重复的数据,存储的数据是无序的,并且不可以存储NULL值。

HashTable是线程安全的,但现在使用较少。建议学习java.util.concurrent包下的ConcurrentHashMap。详见OSChina在线文档。

工具类

除了以上集合以外,还提供了两个工具类:Collections和Arrays。

Collections

提供了一些方法供我们使用:例如排序、二分查找、复制等。详细见OSChina在线文档中java.util包下的Collections类。

Arrays

Arrays同样也是提供了许多已经写好的方法给我们使用。详细见Collection是链接中java.util包下的Arrays类。详细见OSChina在线文档。


小讯
上一篇 2024-12-27 10:48
下一篇 2024-12-24 19:18

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/4211.html