zoukankan      html  css  js  c++  java
  • Collections+Iterator 接口 | Map+HashMap+HashTable+TreeMap |

    Collections+Iterator 接口

    1. Collections 是一个操作 Set、List 和 Map 等集合的工具类
    Collections 中提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法
    排序操作:
    reverse(List):反转 List 中元素的顺序
    shuffle(List):对 List 集合元素进行随机排序
    sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序
    sort(List,Comparator):根据指定的 Comparator 产生的顺序对 List 集合元素进行排序
    swap(List,int, int):将指定 list 集合中的 i 处元素和 j 处元素进行交换
     
    2. Iterator 接口
    Iterator 接口主要用于遍历 Collection 集合中的元素,Iterator 对象也被称为迭代器
    Iterator 接口隐藏了各种 Collection 实现类的底层细节,向应用程序提供了遍历 Collection 集合元素的统一编程接口
    Iterator 仅用于遍历集合,Iterator 本身并不提供承装对象的能力。如果需要创建 Iterator 对象,则必须有一个被迭代的集合。
    使用for(Person p: persons){}也可以遍历元素
     

     

    Map+HashMap+HashTable+TreeMap

    1. Map 用于保存具有映射关系的数据,因此 Map 集合里保存着两组值,一组值用于保存 Map 里的 Key,另外一组用于保存 Map 里的 Value,Map 中的 key 和 value 都可以是任何引用类型的数据

    Map 中的 Key 不允许重复,即同一个 Map 对象的任何两个 Key 通过 equals 方法比较中返回 false

    Key 和 Value 之间存在单向一对一关系,即通过指定的 Key 总能找到唯一的,确定的 Value。

     

    2. HashMap和HashTable

     HashMap 和 Hashtable 是 Map 接口的两个典型实现类

     区别:

     Hashtable 是一个古老的 Map 实现类,不建议使用

     Hashtable 是一个线程安全的 Map 实现,但 HashMap 是线程不安全的。

     Hashtable 不允许使用 null 作为 key 和 value,而 HashMap 可以

     与 HashSet 集合不能保证元素的顺序的顺序一样,Hashtable 、HashMap 也不能保证其中 key-value 对的顺序

     Hashtable 、HashMap 判断两个 Key 相等的标准是:两个 Key 通过 equals 方法返回 true,hashCode 值也相等。

     Hashtable 、HashMap 判断两个 Value相等的标准是:两个 Value 通过 equals 方法返回 true

     

    3.TreeMap

     TreeMap 存储 Key-Value 对时,需要根据 Key 对 key-value 对进行排序。TreeMap 可以保证所有的 Key-Value 对处于有序状态。

     TreeMap 的 Key 的排序:

     自然排序:TreeMap 的所有的 Key 必须实现 Comparable 接口,而且所有的 Key 应该是同一个类的对象,否则将会抛出 ClasssCastException

     定制排序:创建 TreeMap 时,传入一个 Comparator 对象,该对象负责对 TreeMap 中的所有 key 进行排序。此时不需要 Map 的 Key 实现 Comparable 接口

     


     

  • 相关阅读:
    Tao Yu的论文之一 "Service Selection Algorithms for Web Services with Endtoend QoS Constraints (ISeBM2005)"
    Web Service Replacement相关论文收集
    温习一遍Ran03的论文
    笔记: WWW04QoS computation and policing in dynamic web service selection
    [阅读笔记] 支持服务关联的组合服务选择方法研究(cjc)
    脑子短路
    CIMS论文之一: 支持服务质量全局最优和动态重计划的Web服务组合
    [泛读]4篇Web Service Replication方面论文
    ITJ上的一篇论文(EWsFrame)
    我对elearning学习的感受
  • 原文地址:https://www.cnblogs.com/daydayhave/p/5847599.html
Copyright © 2011-2022 走看看