• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
月迷津
博客园    首页    新随笔    联系   管理    订阅  订阅

集合(三)

五、Set接口

  概述

    一个不包含重复元素的 collection。

  HashSet类

    概述

      不保证 set 的迭代顺序
      特别是它不保证该顺序恒久不变。

    HashSet如何保证元素唯一性

      底层数据结构是哈希表(元素是链表的数组)
      哈希表依赖于哈希值存储
      添加功能底层依赖两个方法:
        int hashCode()
        boolean equals(Object obj)

  LinkedHashSet类

    概述

      元素有序唯一
      由链表保证元素有序
      由哈希表保证元素唯一

六、Map接口

  概述

    将键映射到值的对象
    一个映射不能包含重复的键
    每个键最多只能映射到一个值
    key=value
    Map接口和Collection接口的不同
    Map是双列的,Collection是单列的
    Map的键唯一,Collection的子体系Set是唯一的
    Map集合的数据结构值针对键有效,跟值无关
    Collection集合的数据结构是针对元素有效

  成员方法

    V put(K key,V value)
    V remove(Object key)
    void clear()
    boolean containsKey(Object key)
    boolean containsValue(Object value)
    boolean isEmpty()
    int size()
    V get(Object key)
    Set<K> keySet()
    Collection<V> values()
    Set<Map.Entry<K,V>> entrySet()

  Map集合遍历

    方式1:根据键找值
       获取所有键的集合
       遍历键的集合,获取到每一个键
       根据键找值
    方式2:根据键值对对象找键和值
       获取所有键值对对象的集合
       遍历键值对对象的集合,获取到每一个键值对对象
       根据键值对对象找键和值

  HashMap类

    概述

      键是哈希表结构,可以保证键的唯一性

  LinkedHashMap类

    概述

      Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。

七、Collections类

  概述

    针对集合操作 的工具类

  成员方法

    public static <T> void sort(List<T> list)
    public static <T> int binarySearch(List<?> list,T key)
    public static <T> T max(Collection<?> coll)
    public static void reverse(List<?> list)
    public static void shuffle(List<?> list)
    public static <T> void sort(List<T> list, Comparator<? super T> c)

posted @ 2018-09-15 08:54  月迷津  阅读(96)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3