Java集合概述
Java集合概述
CAMELLIA!!! note 目录
集合概述
一、什么是集合,有什么用?
集合定义:集合是一种容器,用来组织和管理数据的。
Java 集合框架:Java 的集合框架提供了一套类库,用以实现各种数据结构。这些实现为开发者提供了丰富的工具来处理数据。
底层数据结构:每一个集合类底层采用的数据结构不同,例如:
- ArrayList:底层采用数组。
- LinkedList:底层采用双向链表。
- HashMap:底层采用哈希表。
- TreeMap:底层采用红黑树。
我们不需要自己实现这些数据结构的细节,Java 集合框架已经为我们提供了这些实现。但我们需要了解在何种场合下选择哪一种集合以确保最高的效率。
二、集合中存储的是对象引用而非对象本身
在Java中,集合存储的是对象的引用,而不是对象本身。
当你将一个对象添加到集合中时,实际上是将这个对象的引用(即内存地址)存储在集合中。因此,集合中的每个元素都指向实际存储在堆中的对象。
三、非泛型集合允许存储任何类型的引用
默认情况下,如果不使用泛型,集合可以存储任何类型的引用,只要这些引用属于 Object
类或其子类。而如果采用了泛型则只能存储同种类型的引用,但是他可以避免强转的风险。
四、Java集合框架的两大部分:Collection与Map
Collection结构:用于存储单个元素的数据结构。它包括接口和类,如
List
、Set
和Queue
。这些接口定义了不同类型的集合以及对这些集合的操作。- List:有序集合,可以包含重复元素,如
ArrayList
、LinkedList
。 - Set:不允许重复元素,如
HashSet
、LinkedHashSet
、TreeSet
。 - Queue:通常用于表示等待处理的元素的集合,如
LinkedList
、PriorityQueue
。
- List:有序集合,可以包含重复元素,如
Map结构:用于存储键值对数据结构。每个键映射到一个值,键和值的类型可以不同。常见的实现类包括
HashMap
、LinkedHashMap
和TreeMap
。- HashMap:基于哈希表的实现。
- LinkedHashMap:维护了元素的插入顺序。
- TreeMap:基于红黑树的实现,键是有序的。
五、主要的Java集合框架接口与实现类
Collection 接口及其实现类:
- List 接口:
ArrayList
LinkedList
Vector
Stack
- Set 接口:
HashSet
LinkedHashSet
TreeSet
- Queue 接口:
LinkedList
PriorityQueue
ArrayDeque
- List 接口:
Map 接口及其实现类:
HashMap
LinkedHashMap
TreeMap
Hashtable
Properties