【Java】集合概述Collection、Map
Java集合分为Collection和Map,Collection又分为List、Set。 List中有ArrayList、LinkedList和Vector;Set中又分为HashSet和TreeSet。Map中有HashMap和TreeMap。他们的分类结构关系如下:
分类结构
1. Collection
1.1 List
1.1.1 ArrayList
1.1.2 LinkedList
1.1.3 Vector
1.2 Set
1.2.1 HashSet
1.2.2 TreeSet
2. Map
2.1 HashMap
2.2 TreeMap
特点和区别
1. Collection:以值的形式直接存储,可重复
1.1 List 有序的,可重复的
1.1.1 ArrayList 底层是数组,添加删除慢,查找快,线程不安全的;
1.1.2 LinkedList 底层是链表,添加删除快,查找慢,线程不安全的;
1.1.3 Vector 底层是数组,添加删除慢,查找快,线程安全的。
1.2 Set 无序的,不可重复的
1.2.1 HashSet 底层是哈希表,可以通过重写hashCode() 和 equals()方法去重,不可排序的;
1.2.2 TreeSet 底层是二叉树,可以通过重写Comparable中的compareTo方法,或者重写Comparator的compare方法实现去重和排序。
2. Map: 以键值对的形式,key-value结构映射的
2.1 HashMap 线程不安全的,可以通过重写hashCode() 和 equals()方法去重,不可排序的;
2.2 TreeMap 线程不安全的,可以通过重写Comparable中的compareTo方法,或者重写Comparator的compare方法实现排序。
最新文章
- [MFC] MFC 打开HTML资源(用ID版,也可加载到自己的web控件上)
- remote desktop connect btw Mac, Windows, Linux(Ubuntu) Mac,Windows,Linux之间的远程桌面连接
- 双系统下利用MbrFix.exe卸载LINUX系统
- unix:///tmp/supervisor.sock no such file
- 数据挖掘算法-Apriori Algorithm(关联规则)
- SDUTRescue The Princess(数学问题)
- 简易 bokeh 图像散景效果算法实现
- webpack构建本地服务器
- Golang 入门系列(五)GO语言中的面向对象
- leecode第二百三十七题(删除链表中的节点)
- 在HTML中用循环语句
- Sql Server中的游标最好只用于有主键或唯一键的表
- SSH协议
- AFNetworking 遇到错误 Code=-1016 ";Request failed: unacceptable content-type: text/plain";
- 使用Java创建Excel,并添加内容
- Gym 101246J	Buoys(三分查找)
- 与table有关的布局
- netty/example/src/main/java/io/netty/example/http/snoop/
- 「C语言」原码反码补码与位运算
- Timer类与TimerTask类