集合概述
集合概述
-
所有的集合类和集合接口都在java.util包下
-
Java集合分为两大类:
一:是单个方式存储元素,超级父接口时java.util.Collection
二: 是以键值对的方式存储元素,超级父接口是java.util.Map
-
Iterable 可迭代的,可遍历的,所有的集合都是可迭代可遍历的
方法:iterator(),得到集合的迭代器对象Iterator
-
Iterator :
hasNext() next() //返回迭代中的下一个元素。 remove()
Collection
-
List存储元素的特点:
可重复,有序,存储的元素有下标.
有序是指存进去是什么顺序取出来也是什么顺序
下标从0开始
-
set存储元素的特点:
不可重复,无序,无下标
-
ArrayList : 底层是数组,线程不安全
-
LinkList : 底层是双向链表
-
Vector : 底层是数组,线程安全,效率低,少用,有其他解决方案
-
HashSet : new一个HashSet对象,其实是new了一个HashMap对象
向HashSet里存储数据,实际上是存储到了HashMap里
HashMap的底层结构是采用了哈希表
-
TreeSet : new一个TreeSet对象,其实是new了一个TreeMap对象
向TreeSet里存储数据,实际上是存储到了TreeMap里
TreeMap的底层结构是采用了二叉树
-
SortedSet : 元素会自动根据大小进行排序,称为可排序的集合
Map
-
Map集合的特点:
- Map集合和Collection集合没有关系
- Map集合是以键值对的方式存储元素
- key和value都是储存Java对象的内存地址
- 所有Map集合的key特点 : 无序不可重复 Map集合的key和Set集合存储元素的特点相同
-
HashMap : 底层是哈希表数据结构,非线程安全
-
HashTable : 底层是哈希表数据结构,线程安全,少用,有替代办法
-
Properties : 线程安全的,key和value只支持String类型,属性类
-
SortedMap : key部分元素会自动根据大小进行排序,称为可排序的集合
-
TreeMap : 底层是二叉树
我成功因为我志在成功
浙公网安备 33010602011771号