Map
- 双列集合顶层接口
- HashMap
- TreeMap
- Map<K,V>
- 双列集合,键值对集合
特点
- 无序
- 键 不可重复;值,可重复
常见方法
方法名 | 说明 |
V put(K key,V value)(E e) | 添加元素;或者修改 键的值,并返回被修改的 值 |
V remove(Object key)(E e) | 根据键删除键值对元素,并返回被删除键值对的 值 |
int size() | 获取集合的长度 |
boolean isEmpty() | 判断集合是否为空 |
V get(Object key) | 根据键获取 值 |
boolean containsKey(Object Key) | 判断集合是否包含指定的键 |
boolean containsValue(Object value) | 判断集合中是否包含指定的值 |
Collection values() | 获取所有 值 的集合 |
Set |
方式二
- 获取所有 键值对 对象 的集合
- Set<Map.Entry<K,V>> entrySet()
- 获取所有 键值对对象 的集合
- Set<Map.Entry<K,V>> entrySet()
- 遍历键值对对象的集合,得到每一个键值对对象
- 增强for循环,得到每一个 Map.Entry
- 根据 键值对对象 获取键和值
- **getKey()**得到键
- **getValue()**得到值
HashMap集合
- HashMap 集合可以对自定义对象进行去重,但需要将自定义对象作为键,在自定义类里重写 hashCode()和equals()
TreeMap集合
- TreeMap 集合可以对自定义对象进行去重和排序,但需要将自定义对象作为键,要么实现自然排序,要么实现比较器
集合的嵌套
Collections 工具类
- 不是集合,不具备存储元素的功能
- 类里面的方法均为静态方法
- 提供了一些对集合快速操作的方法
- 反转
- reverse(list)
- 排序
- sort(list)
- 自然排序
- sort(list,new compartor(){
重写方法
}) - 比较器排序
- sort(list)
- 使用默认随机源随机排列指定的列表
- shuffle(list)
可变参数
- 需求:
- 定义一个方法,求两个数的和
- 定义一个方法,求三个数的和
- 定义一个方法,求 N 个数的和
- 可变参数
- 方法的形式参数的个数是可变的
- 格式:
- 修饰符 返回值类型 方法名(数据类型… 变量名){}
- public int getSum(int…a){}
- 注意事项:
- 这里的变量其实是一个 数组
- 若一个方法有多个参数,且包含可变参数,可变参数要放在最后