Java笔记--常见集合 ArrayList、HashSet、HashMap

目录

一、什么是List、Set、Map?

二、ArrayList、HashSet、HashMap特性

三、其他

3.1 为什么HashSet的检索速度比ArryList快?

3.2 HashSet中如何防止插入属性相同的对象?

四、示例代码:

4.1  ArrayList的增删改查:ArrayList增删改查代码

4.2  HashSet的增删改查:HashSet增删改查代码

4.3 HashMap的增删改查:HashMap增删改查代码


一、什么是List、Set、Map?

 Java集合类大致分为Set、List、Queue、Map四种体系。

  • List类似于一个可动态增长的数组,代表有序、可重复的集合;
  • Set类似于罐子,里面的元素是无序的,不可重复的。
  • Map类似于储存Key-vaule键值对的罐子,也是无序的,Key值唯一

Collection集合继承关系如下(简化版):

 

二、ArrayList、HashSet、HashMap特性

 

三、其他

3.1 为什么HashSet的检索速度比ArryList快?

因为HashSet可以理解为它将元素按照hashcode标定为几个罐子。它的检索过程是先用hashcode检索定位到一个罐子,再从这个罐子通过equal()方法判断。而ArrayLIst的方式是无脑的从前往后一个个去判断(当然是不加其他检索算法的前提下)。

举个例子,就好像你在高一年24个班级共1000个人中找一个名叫jackie的同学,hashset就是先告诉了你在找10班,你在10班去找就行。而ArrayList从第1班找到24班,每班找50次。

3.2 HashSet中如何防止插入属性相同的对象?

在自定义类中重写hashcode()和equal()方法即可

四、示例代码:

点击右边链接可打开代码

4.1  ArrayList的增删改查:ArrayList增删改查代码

4.2  HashSet的增删改查:HashSet增删改查代码

4.3 HashMap的增删改查:HashMap增删改查代码

发布了23 篇原创文章 · 获赞 12 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_29796711/article/details/105710082