集合框架概要图
集合
:一个存储数据的容器,解决数组长度不能变必须确定的弊端。
collection(一个关于集合的接口)
特点:允许存放重复的数据,
常用的方法:
add()添加元素
addAll()将一个集合的元素添加到另一个集合尾部
clea()清空集合
contains()检查集合是否包含某些元素
iterator()迭代器,
remove()删除
toArray()转换为数组
遍历方式:大概分为三种:
一:增强for循环
二:转换为数组遍历
三,iterator迭代器
一、List集合
继承collection接口
特点:1.可重复2.有序有索引
常用的方法:(自己的不继承collection)
get();获取从指定位置元素
set()替换指定位置元素
subList()截取集合元素;
两个实现类
1.1 ArrayList
特点:
底层数组:多线程,查询快,增删慢,底层数组
自己(非继承)常用的方法:
indexof()获取某元素的索引
charAt()获取某索引的元素
1.2LinkedList:
特点:
多线程,查询慢,删除修改快、
自己常用的方法:多了一些关于首尾的操作
addFirst();
addLast();
removelast();
removeFast();
getFirst();
getLast();
pop();
poll();
push();
二、Set
存储不重复的元素
2.1 hashSet
特点:1.输出输入顺序不同
2…输入的数据不能重复
3.底层为hash表
2.2 linkedHashSet
特点:1.输出输入顺序一致
2.数据不能重复
3.底层为一个hash表加上一条链表
Map
- map集合是一个双列集合,一个元素包含两个值(一个key,一个value)
- map元素中的key不允许重复,value可以重复
- key和value数据类型可以重复也可以不重复
- 可以和value一一对应
hashmap
1.hashMap集合底层是哈希表,查询速度特别快
2.hashMap是一个无序集合,存储元素和取出顺序有可能不一样
linkedhashMap底层是hash表+链表
Map接口常用方法:
put ()没有返回null
有返回 被替换的value
get(key值)
三种种遍历方式:
Keyset
Iterator
EntrySet<K,V>;
Hashtable :底层是一个哈希表,是一个线程安全的集合,是一个单线程的集合,速度慢
HashMap:底层是一个哈希表,是一个线程不安全的集合,是多线程集合,速度快
HashMap集合,hashSet 可以储存null值,null键
hashTable集合,不能储存null值null建
Properties集合唯一一个和io流相结合的集合