A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张斯佳 中级黑马   /  2018-1-27 14:37  /  855 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张斯佳 于 2018-1-27 14:37 编辑

关于集合的关系,我在网上找了一个图来概括: QQ截图20180127142402.png
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()               :返回集合的长度(集合有多少元素)

2 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马