java集合
集合
Map
- Map用于保存多组有映射关系的键值对对象 字典
- 键是无序不可重复(本质是Set集合)
- 键到值是单向一对一的映射关系 , 根据唯一的键只能获取一个值
方法
- Object put(Object key, Object value); 放入一个字典
- Object get(Object key) 放入key查询到value
- Set keySet(); 拿到所有key // 获取map中的保存所有键对象的Set子集合
- Set entrySet(); 拿到所有对象 // 获取保存键值对Entry对象的集合
具体子类 :
- HashMap 使用哈希算法实现了map集合,无序不可重复
- TreeMap 同样必须实现 Comparable接口,或者定制排序的Comparator对象,所有的key必须是同一个类否者抛出异常,classCastException
- Hashtable 古老的实现类 ,效率低,线程安全
- Properties Hashtable子类 Properties, Properties 里的key 和value 都是字符串类型
- LinkedHashMap hashMap子类 有序不可重复,结构是链表
Collection
Collection 接口, 表示一个集合, 保存一个一个的对象
- 无序可重复, 无序就是不按添加顺序保存元素. 元素可以重复
Collection方法
- boolean add(Object obj) 添加元素, 如果成功, 返回true, 如果失败, 返回false
- boolean contains(Object obj) 判断是否包含某元素
- boolean remove(Object obj) 从集合中移除某元素
- int size() 获取集合中的元素个数.
Set 子接口
HashSet 具体子类,
- 使用哈希算法实现的Set集合,去重的依据就是对象的equals方法和hashCode方法.
TreeSet 具体子类
- 基本二叉树实现的Set集合,不能放混合元素
- 虽然是无序(不按添加顺序保存元素) 但是结果是元素实现了自然排序,
- 第一去重的依据是两个对象的compareTo为0
- 第二种实现Comparator接口,创建对象,将对象关联到集合中进行比较,使用场景在不修改类的时候调用此方法
List 子接口
- 有序可重复,列表
具体子类
- ArrayList 用数组实现的List集合
- LinkedList 用链表实现的List集合
- Vector 它和ArrayList完全一样.
list方法
- void add(int index, Object obj) 在参数index指定的下标位置处插入新元素
- Object get(int index) 返回参数index指定的下标位置处的元素
- Object set(int index, Object obj) 替换index位置处的元素为obj新元素, 返回旧元素
- Object remove(int index) 删除指定下标处的元素.
- boolean contains(Object obj) 判断是否包含某元素

浙公网安备 33010602011771号