深入java集合类系列:概述

由一组类和接口组成的Java集合框架(JCF)它是封装数据结构和算法。
JCF的作用:1、向集合中装纳对象,装纳的对象被称为元素。
           2、为我们提供元素的算法实现。
           3、利用集合进行对象的传输(减小性能,节省空间)。
 集合类型主要有3种:set(集)、list(列表)和map(映射)

(1)set(集)

集(set)是最简单的一种集合,它的对象不按特定方式排序,只是简单的把对象加入集合中,就像往口袋里放东西。
对集中成员的访问和操作是通过集中对象的引用进行的,所以集中不能有重复对象。
集也有多种变体,可以实现排序等功能,如TreeSet,它把对象添加到集中的操作将变为按照某种比较规则将其插入到有序的对象序列中。它实现的是SortedSet接口,也就是加入了对象比较的方法。通过对集中的对象迭代,我们可以得到一个升序的对象集合。

(2)list(列表)
列表的主要特征是其对象以线性方式存储,没有特定顺序,只有一个开头和一个结尾,当然,它与根本没有顺序的集是不同的。
列表在数据结构中分别表现为:数组和向量、链表、堆栈、队列。

(3)map(映射)
映射与集或列表有明显区别,映射中每个项都是成对的。映射中存储的每个对象都有一个相关的关键字(Key)对象,关键字决定了对象在映射中的存储位置,检索对象时必须提供相应的关键字,就像在字典中查单词一样。关键字应该是唯一的。
关键字本身并不能决定对象的存储位置,它需要对过一种散列(hashing)技术来处理,产生一个被称作散列码(hash code)的整数值,散列码通常用作一个偏置量,该偏置量是相对于分配给映射的内存区域起始位置的,由此确定关键字/对象对的存储位置。理想情况下,散列处理应该产生给定范围内均匀分布的值,而且每个关键字应得到不同的散列码

 

java集合类存放于java.util包中。
【1】Set、List接口继承Collection接口
(1)Set不允许重复,使用自己内部的一个排列机制。
(2)List允许重复,以元素安插的次序来放置元素,不会重新排列

深入java集合类系列:概述_第1张图片

 

list接口实现类包括:arraylist(数组列表)、linkedlist(链表列表)、vector(向量)、stack(堆栈)。
set接口实现类包括:Hashset(哈希算法)、treeset(放进去无序,拿出来有序)。

SortedSet接口为set提供了排序的功能。

【2】Map接口是一组成对的键-值对象

Map未继承Collection接口。

深入java集合类系列:概述_第2张图片

Map接口实现类包括:treeMap(自然排序和自定义排序两种方式)、hashmap(键是唯一的)、LinkedHashMap (保存了记录的插入顺序)。

SortedMap接口为map类型容器提供对键的排序。

后续将深入我们常用的集合类的用法,主要从2个方面分析

(1):各个集合类相关属性。

(2):各个集合类的创建,填充元素,删除元素,读取元素,清空,即一些集合类的特性。

最后总结将各个集合类进行比较,讲述各个集合类在不同的场景的使用。

  (1)深入java集合类系列:ArrayList

 

你可能感兴趣的:(java集合)