1.集合概述
-
集合:集合在实际上就是一个容器,数组也是一个集合。集合可以一次容纳多个对象。
-
集合不能直接存储基本数据类型,也不能直接存储Java对象,集合存储的都是对象的内存地址。
-
综上:集合在java中本身是一个容器,是一个对象。任何时候集合中存储的是"引用"。
-
在java中不同的集合会对应不同的数据结构,往不同的集合中存储元素,等于数据放到了不同的数据结构当中。
-
常见的数据结构:数组、二叉树、链表、哈希表......
-
集合在java.util包下。java中集合分为两大类,
每个值存储为一个存储元素:超级父接口为:java.util.Collection;
键和值存储为一个元素(键和值):超级付接口为:java.util.Map;
2.Collection概述
-
Collection泛化有List和set接口。
-
List集合存储元素特点:存入时与取出时一样,可重复,存储元素有下标。ArrayList、LinkedList、Vector......实现了List:
ArrayList:底层采用了数组这种数据结构。非线程安全。
LinkedList:底层采用了双向链表数据结构。
Vector:底层采用了数组这种数据结构。线程安全。
-
Set集合存储元素特点:存入时与取出时不一定一样,不可重复,没有下标。HashSet、TreeSet......实现了Set:
HashSet:底层是HashMap
TreeSet:底层是TreeMap。
3.Map概述
- Map集合和Collection集合没有关系,Map集合以key和value这种键值对应方式存储元素。
- key和value都是存储java对象的内存地址。
- HashMap:底层是哈希表数据结构,是非线程安全的
- Hashtable:底层是哈希表数据结构,是线程安全的。
- TreeMap:底层原理是二叉树数据结构。key值可以自动按照大小顺序排序
- Properties:是线程安全的,key和value只能存储字符串String。
`
------本章节为个人学习笔记。学习视频为动力节点Java零基础教程视频:动力节点---JAVA零基础教程视频