Java基础知识:集合框架

*本文是最近学习到的知识的记录以及分享,算不上原创。

*参考文献见链接。

目录

  集合框架

  Collection接口

  Map接口

  集合的工具类

这篇文章只大致回顾一下Java的总体框架。

集合框架

https://www.cnblogs.com/skywang12345/p/3308498.html

我们首先综合性地看一下Java的集合框架,如下图:

 

Java的集合框架中主要包括三个部分:

(1)Collection接口

(2)Map接口

(3)工具类包括:Iterator, Enumeration and Arrays, Collections

1. Collection接口

Collection接口主要包括两个子接口:List和Set。

个人认为,Collection的各个子接口或者子接口的各个实现类,它们的区别实际上是由于元素存储的数据结构不同所导致的,每种数据结构各自有自己的优缺点,适用于不同的情况。所以Collection之所以拥有众多的实现类,也是为了满足用户在不同情况下的需要,使得用户可以根据自己不同的开发需求使用不同的子接口下的实现类。

List接口特征是:

(1)有序:保证元素存取的顺序

(2)带有索引:可以通过索引对元素进行精确定位并操作,如查询、增加、删除、遍历等。

(3)允许重复:允许存储重复的元素。

List接口的实现类主要有ArrayList, LinkedList, Vector。

Set接口特征是:

(1)不允许重复:元素是唯一的。

Set接口的实现类主要有HashSet, LinkedHashSet, TreeSet。其中HashSet不能保证元素存取的顺序。

2. Map接口

首先回忆一下hashCode,每个Object对象都有一个hashCode,每个对象具有唯一的hashCode,但不同的对象可能生成相同的hashCode。所以对象与hashCode之间构成了多对一的映射关系。

Map就是一个映射接口,即key-value键值对,Map的每一个元素存储的是一个key及其对应的(多个)value。每个value与key构成多对一的映射关系。

3. 工具类

工具类中包括了Iterator, Enumeration和Arrays, Collections。

Iterator是一个用于遍历集合的工具,Enumeration也是一个用于遍历集合的工具,不过仅能在HashSet, Vector, Stack中使用。

Arrays是操作数组的工具类,Collections是操作集合的工具类。

参考文献

https://www.cnblogs.com/skywang12345/p/3308498.html

posted @ 2018-10-26 15:40  奋斗着的咸鱼  阅读(192)  评论(0编辑  收藏  举报