关于java集合类的基本概述

java中的集合类由两大分支,如下:

关于java集合类的基本概述

关于java集合类的基本概述


看上去非常多且繁琐,实际上我们只需要了解几种,其他的都差不多,有个别差异的类,通过API文档都能看出其中的不同。

我们以ArrayList 来举例说明一下:

首先我们新建一个Stu的类,然后新建一个ArrayList泛型集合 (注:泛型集合是指定集合里面存储特定对象),如下:

关于java集合类的基本概述

注意:ArrayList中存在下标,所以可以通过如上这种方式遍历,而在Map中则不允许,他是通过键值对的方式存储对象,没有下标。

关于ArrayList中操作对象的方法就不一一概述,因为API文档中都有,写法都和上面类似,如下所示:

关于java集合类的基本概述

关于Arraylist构造方法如下图所示:

关于java集合类的基本概述

下面来介绍一下Map集合的相关用法:

上面说过,Map集合由于没有下标,所以遍历的方式可能有些麻烦,但是我列举了四种种方式,因该可以解决大部分问题,还是以Stu类为例,为了实现举例方便我们泛型集合采用这种方式

这是第一种

关于java集合类的基本概述

第二种方式,则比较麻烦,但是写法比较固定,多写几遍熟能生巧,也就那个样子。

关于java集合类的基本概述

第三种方式如下:

关于java集合类的基本概述

第四种如下 但只能获得所有的Stu对象,而无法获得i:

关于java集合类的基本概述

关于hashMap的方法,构造方法如下,其实JavaAPI都有:

关于java集合类的基本概述

java集合种类繁多,具体的开发过程中使用哪种都是根据功能来选择的,异步的操作速度快,但安全性低,同步的操作速度慢,但安全性高。

ArrayList和HashMap是线程异步,vector和HashTable是线程同步。他们的具体方法无异,要使用哪种,就看是在哪种环境。比如银行的存取款就得用线程同步的,速度慢一点无所谓,得安全才行,你要是选择线程异步的,出了纰漏,那就告辞了。


分享到:


相關文章: