黑马程序员技术交流社区
标题: 【哈尔滨校区】集合的关系以及一些常用的方法 [打印本页]
作者: 张斯佳 时间: 2018-1-27 14:37
标题: 【哈尔滨校区】集合的关系以及一些常用的方法
本帖最后由 张斯佳 于 2018-1-27 14:37 编辑
关于集合的关系,我在网上找了一个图来概括:
Collection基本功能
A:添加功能
boolean add(Object obj) : 向集合中添加一个元素
boolean addAll(Collection c) :向集合中添加一个集合的元素。
B:删除功能
void clear():删除集合中的所有元素。
boolean remove(Object obj) :从集合中删除指定的元素
boolean removeAll(Collection c) : 从集合中删除一个指定的集合元素。
C:判断功能
boolean isEmpty() : 判断集合是否为空。
boolean contains(Object obj) :判断集合中是否存在指定的元素。
boolean containsAll(Collection c) :判断集合中是否存在指定的一个集合中的元素。
D:遍历功能
Iterator iterator() : 就是用来获取集合中每一个元素。
E:长度功能
int size() : 获取集合中的元素个数
List接口 List接口下的集合元素存储有序,可以重复。
List的特有功能 A:添加功能
void add(int index, Object obj) : 在指定位置添加元素
B:删除功能
Object remove(int index) : 根据指定索引删除元素,并把删除的元素返回。
C:修改功能
Object set(int index, Object obj) : 把指定索引位置的元素修改为指定的值,返回修改前的值。
D:获取功能
int indexOf(Object o) : 返回指定元素在集合中第一次出现的索引
Object get(int index) : 获取指定位置的元素
ListIterator listIterator() : 列表迭代器(List集合在使用遍历的同时如果操作原数组,那么会发生并发修改异常,所以在操作List集合的时候我们使用过列表迭代器)
Set 接口 Set接口下的元素无序,不可以重复。其下面分为HashSet和TreeSet。
HashSet 底层数据结构是哈希表,线程不安全,效率高。
保证唯一性依赖两个方法:hashCode()和equals()。
顺序:
判断hashCode()值是否相同。
相同:继续走equals(),看返回值
如果true:就不添加到集合。
如果false:就添加到集合。
不同:就添加到集合。
TreeSet(了解就行,二叉树现在用的特别少,基本不会用) 底层数据结构是二叉树,线程不安全,效率高。
保证元素唯一性的方法时根据返回值是否是0。
保证排序的两种方式:
自然排序(元素具备比较性) :实现Comparable接口
比较器排序(集合具备比较性):实现Comparator接口
Map的功能: A:添加功能
V put(K key ,V value) :当key在集合中不存在是,添加元素;当key存在时替换元素
B:判断功能
boolean containsKey (Object key) : 判断指定的键是否在集合中存在
Boolean containsValue(Object value) : 判断指定的值是否在集合中存在
Boolean isEmpty() : 判断集合是否为空
C:删除功能
Void clear() : 清除所有键值对数据
D:获取功能
Object get (Object key) : 根据键获取值
Set<K> keyset() : 所有键的集合
Collection<V>values() : 所有值的集合
E:长度功能
Int size() :返回集合的长度(集合有多少元素)
作者: LittleKing 时间: 2018-1-27 15:30
感谢,学习了
作者: Port 时间: 2018-1-28 09:02

| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |