ArrayList:是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。
import java.util.ArrayList; // 引入 ArrayList 类
ArrayList<E> objectName =new ArrayList<E>(); // 初始化
E:泛指数据类型;
ArrayList常见操作方法:
add() | 将元素插入到指定位置的 arraylist 中 |
clear() | 删除 arraylist 中的所有元素 |
contains() | 判断元素是否在 arraylist |
get() | 通过索引值获取 arraylist 中的元素 |
indexOf() | 返回 arraylist 中元素的索引值 |
remove() | 删除 arraylist 里的单个元素 |
size() | 返回 arraylist 里元素数量 |
isEmpty() | 判断 arraylist 是否为空 |
set() | 替换 arraylist 中指定索引的元素 |
sort() | 对 arraylist 元素进行排序 |
HashMap:是一个散列表,它存储的内容是键值对(key-value)映射。最多允许一条记录的键为 null,不支持线程同步。
import java.util.HashMap; // 引入 HashMap 类
HashMap<Integer, String> Sites = new HashMap<Integer, String>();
HashMap的特点:
数组的特点:查询效率高,插入,删除效率低。
链表的特点:查询效率低,插入删除效率高。
HashMap的底层使用数组加(链表或红黑树)的结构完美实现了查询、插入、删除的效率都很高的特点。
java1.7 之前是数组+链表 ,之后是 数组+链表+红黑树
HashMap的常见操作方法:
clear() | 删除 hashMap 中的所有键/值对 |
isEmpty() | 判断 hashMap 是否为空 |
size() | 计算 hashMap 中键/值对的数量 |
put() | 将键/值对添加到 hashMap 中 |
putIfAbsent() | 如果 hashMap 中不存在指定的键,则将指定的键/值对插入到 hashMap 中。 |
remove() | 删除 hashMap 中指定键 key 的映射关系 |
containsKey() | 检查 hashMap 中是否存在指定的 key 对应的映射关系。 |
containsValue() | 检查 hashMap 中是否存在指定的 value 对应的映射关系。 |
replace() | 替换 hashMap 中是指定的 key 对应的 value。 |
get() | 获取指定 key 对应对 value |
getOrDefault() | 获取指定 key 对应对 value,如果找不到 key ,则返回设置的默认值 |
HashSet:基于 HashMap 来实现的,是一个不允许有重复元素的集合。允许有null值,不支持线程同步。
import java.util.HashSet; // 引入 HashSet 类
HashSet<String> sites = new HashSet<String>();
HashSet常见的操作方法:
clear() | 删除 hashSet 中的所有元素 |
isEmpty() | 判断 hashSet 是否为空 |
size() | 计算 hashSet 中元素的数量 |
add() | 将元素添加到 hashSet 中 |
remove() | 删除 hashSet 中指定元素 |
contains() | 检查 hashSet 中是否存在指定元素。 |