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

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

     

  • 相关阅读:
    通俗版说委托
    C#读取配置文件的几种方式
    C#异步了解一下
    C#3DES加密了解一下
    说说泛型
    工厂和抽象工厂
    装饰者模式(Decorator pattern)
    观察者模式(Observer pattern)
    策略模式(Stategy Pattern)
    C#读取Appconfig中自定义的节点
  • 原文地址:https://www.cnblogs.com/Jsonlu/p/5212424.html
Copyright © 2011-2022 走看看