zoukankan      html  css  js  c++  java
  • JAVA集合差异

    接口

    简述

    实现

    操作特性

    成员要求

    Set

    成员不能重复

    HashSet

    外部无序地遍历成员

    成员可为任意Object子类的对象,但如果覆盖了equals方法,同时注意修改hashCode方法。

    TreeSet

    外部有序地遍历成员;附加实现了SortedSet, 支持子集等要求顺序的操作

    成员要求实现caparable接口,或者使用 Comparator构造TreeSet。成员一般为同一类型。

    LinkedHashSet

    外部按成员的插入顺序遍历成员

    成员与HashSet成员类似

    List

    提供基于索引的对成员的随机访问

    ArrayList

    提供快速的基于索引的成员访问,对尾部成员的增加和删除支持较好

    成员可为任意Object子类的对象

    LinkedList

    对列表中任何位置的成员的增加和删除支持较好,但对基于索引的成员访问支持性能较差

    成员可为任意Object子类的对象

    Map

    保存键值对成员,基于键找值操作,compareTo或compare方法对键排序

    HashMap

    能满足用户对Map的通用需求

    键成员可为任意Object子类的对象,但如果覆盖了equals方法,同时注意修改hashCode方法。

    TreeMap

    支持对键有序地遍历,使用时建议先用HashMap增加和删除成员,最后从HashMap生成TreeMap;附加实现了SortedMap接口,支持子Map等要求顺序的操作

    键成员要求实现caparable接口,或者使用Comparator构造TreeMap。键成员一般为同一类型。

    LinkedHashMap

    保留键的插入顺序,用equals 方法检查键和值的相等性

    成员可为任意Object子类的对象,但如果覆盖了equals方法,同时注意修改hashCode方法。

    IdentityHashMap

    使用== 来检查键和值的相等性。

    成员使用的是严格相等

    WeakHashMap

    其行为依赖于垃圾回收线程,没有绝对理由则少用

     

  • 相关阅读:
    poj 3666 Making the Grade
    poj 3186 Treats for the Cows (区间dp)
    hdu 1074 Doing Homework(状压)
    CodeForces 489C Given Length and Sum of Digits...
    CodeForces 163A Substring and Subsequence
    CodeForces 366C Dima and Salad
    CodeForces 180C Letter
    CodeForces
    hdu 2859 Phalanx
    socket接收大数据流
  • 原文地址:https://www.cnblogs.com/Jsonlu/p/5212424.html
Copyright © 2011-2022 走看看