java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类

时间:2021-11-27 05:10:19

本文关键词:

java集合框架  框架设计理念  容器 继承层级结构 继承图 集合框架中的抽象类  主要的实现类 实现类特性   集合框架分类 集合框架并发包 并发实现类

什么是容器?

由一个或多个确定的元素所构成的整体叫做集合。

容器用来包装或装载物品的贮存器   (如箱、罐、坛)或者成形或柔软不成形的包覆材料。

在Java中的Collection框架,有的人叫做集合有的叫做容器,不管怎么叫基本上也离不开"把元素装起来"这个本质.

我们的世界里面丰富多彩,有各种各样的事物,很多事物都会有他的容器

人的生活自然也离不开各种容器,喝水需要杯子,吃饭需要碗,煮汤需要锅,这都是容器;

容器有各种各样的形状,也有各种各样的特性;

比如茶杯有的有盖子,有的没有盖子,水壶可以从壶嘴往外倒水等

java是面向对象的语言,万事万物皆是对象,纵然有着千姿百态的各种不同类型

所以想要在java对象中更加畅快的使用对象,自然也是需要容器的;

为什么要有容器?

按照容器的概念,数组也是一种容器,可以用于存放一个或者多个元素;

可是,数组只能保存同一种类型的元素,而且长度是固定的;

人们自然希望可以有一种容器能够保存各种不同的类型的元素,并且长度是不固定的;

这也是集合框架设计的初衷;

提供一种可以保存多种类型元素,并且长度不受限制的容器,来更加方便的保存对象;

所以java中的容器也就是java世界里面承装对象的器皿.

JAVA集合框架本质

容器根本属性在于存/取,以及一些其他的附加的操作.

容器内部有其摆放形式:排成一行还是扔到一堆?

也有他的存取顺序:先进先出还是先进后出的被压倒最下面?

这是抽象的描述

对应到计算机科学的世界里面,那即是数据结构与算法的描述

数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成

数据结构中有线性结构,树形结构等,形式有队列  栈 键值对 等

至此,可以这么理解编程语言中的集合框架:

集合框架目的就只是为了盛装对象,操作对象

本质就是Java语言,针对于容器这一概念,数据结构与算法的描述实现.

更直白的说,也就只是数据结构与算法,java只是一个表现形式

比如LinkedList 他就是java语言对于双向链表的一种描述,如果你懂双向链表的原理,并且懂得java的语法,你也可以实现一个LinkedList

不过,选取哪些数据结构,使用哪些算法,继承层级如何安排,这是java自己的特点;

集合框架的层级结构

当然,并不是说你用Java编写一个双向链表就是写出来集合框架了Java是面向对象的语言,面向对象的三大基础特征,封装继承多态嘛想要给一门编程语言提供一个集合框架,自然不是写几个算法数据结构这么简单的事情Java中的集合框架是自顶而下设计的如同所有的对象的祖宗都是Object一样集合框架自然也是有祖宗的,那就是Collection 这就表示集合 ,在Java中用来存储元素的容器
不过也还有另外一派,叫做Map ,如官方文档中描述的那样,Map并不算是集合,只不过是一种操作数据的结构而已但是Map也提供了类似集合似的存取元素,元素操作等功能广义上按照我们之前说的集合/容器的概念去理解的话,自然他也可以算得上是Java集合的一份子所以一般都是把Map和Collection统称为Java的集合体系的鉴于Java语言的特性,集合体系中这些用于刻画家族脸谱的东西,自然都是接口,除非特别指明,所提到的类型均为接口
Collection中是一组独立的元素而Map中则是一组成对的键值对元素
一组独立的元素,Collection,中又可以按照有序的列表和无序的集,这就是List 和Set当然还有Queue,队列其实话说回来,为何Queue直接继承自Collection?有序和无序的并集不就已经是整体了么队列不也算是一种特殊的List么,的确队列是一种特殊的List,而且,常用的实现类LinkedList

.....implements List<E>, Deque<E>..... 并且其中 interface Deque<E> extends Queue<E> 
所以说,队列逻辑思维意义上就是列表中比较特殊的一种,只不过他的特殊性比较多
所以在实现代码的时候把它单独拿出来直接继承自Collection 作为一种大的分类
也我觉得也并没有什么太大的违和感,个人理解,欢迎指正
 
现在我们已经"高屋建瓴"的把集合Collection分为了 List  Set Queue这三种,再加上刚才说到的Map
  1. 列表(List):List集合区分元素的顺序,允许包含相同的元素,访问集合中的元素可以根据元素的索引来访问。
  2. 集(Set):Set集合不区分元素的顺序,不允许包含相同的元素,访问集合中的元素只能根据元素本身来访问(也是集合里元素不允许重复的原因)。
  3. 映射(Map):Map集合保存的”键”-“值”对,“键”不能重复,而且一个“键”只能对应一个“值”,访问时只能根据每项元素的key来访问其value。
  4. 队列(Queue) 没什么好理解的,就是类似队伍的概念,详细的以后再说

四大天王已经诞生了

Set和Map本身是无序的,在此基础上又增加了排序的概念

所以家族里面又多出来sortedSet 和   sortedMap

既然有了排序的概念,那么在此之上继续增加个可搜索的功能也没什么好奇怪的

也就是

NavigableSet 和  NavigableMap

不得不说,美国人英语真好 aaarticlea/png;base64,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" alt="" />

Queue队列中又分为:

双端队列Deque    (double ended queue)

所以主要的接口是这些:

Collection

|---List

|---Set

   |---sortedSet

|---NavigableSet

|---Queue

   |---Deque

|---Map

|---sortedMap

|---NavigableMap

至此,对于java集合来说,意识形态层面的设计已经完成.

集合框架的抽象类

一人心难如万人意,集合框架设计者也明白这个道理

自然知道提供的实现类并不能满足所有人需求,自然有人想要自己实现,

如果从头写来一个自然是代价巨大,考虑到这点,集合框架提供了不少的抽象类,抽象类实现了大部分通用的方法

你想要实现,只需要继承抽象类,并且实现必要的几个方法即可

当然,集合的设计本身也是这个思路,一举两得,自己写的这么方便的东西,没道理不用;

抽象类大多数以Abs开头的

AbstractCollection:

提供了Collection的主要实现

  1. 为了实现一个不可修改的集合,程序员只需要扩展这个类并为iteratorsize 方法提供实现。(iterator方法返回的迭代器必须实现hasNext和next。)
  2. 为了实现一个可修改的集合,程序员必须另外重写这个类的add方法(否则抛出一个UnsupportedOperationException),迭代器方法返回的迭代器必须另外实现它的remove方法。

Collection 下的大多数子类都继承 AbstractCollection ,比如 List 的实现类, Set的实现类。

AbstractList

aaarticlea/png;base64,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" alt="" />

List接口的骨架实现,最大限度地减少实现由“随机访问”数据存储(如数组)所支持的接口所需的工作量。

对于顺序访问数据(如链接列表),应该优先使用AbstractSequentialList。

AbstractSequentialList

aaarticlea/png;base64,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" alt="" />

List接口的骨架实现,以最大限度地减少实现由“顺序访问”数据存储(如链接列表)支持的接口所需的工作量。

对于随机访问数据(如数组),应优先使用AbstractList。

AbstractSet

 

aaarticlea/png;base64,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" alt="" />

提供了Set接口的骨架实现,不会覆盖AbstractCollection类中的任何实现。它只是增加了equals和hashCode的实现。

通过扩展此类来实现集合的过程与通过扩展AbstractCollection来实现集合的过程相同

不同之处在于此类的所有子类中的所有方法和构造函数都必须遵守Set接口施加的额外约束(例如,添加方法不得允许将一个对象的多个实例添加到一个集合中)。

AbstractQueue

aaarticlea/png;base64,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" alt="" />

提供了一些Queue操作的骨架实现

当基类实现不允许空元素时,此类中的实现适用。

方法add,remove和element分别基于offer,poll和peek,但是会抛出异常而不是通过false或null返回来指示失败。

扩展此类的任何Queue实现类至少也需要定义方法Queue.offer(E),该方法不允许插入空元素

以及方法Queue.peek(),Queue.poll(),Collection.size()和Collection.iterator()。

通常,其他方法也将被覆盖。如果这些要求不能满足,请考虑派生AbstractCollection的子类。

AbstractMap

aaarticlea/png;base64,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" alt="" />

Map接口的骨架实现

要实现一个不可修改的映射,程序员只需要扩展这个类并为entrySet方法提供一个实现,该方法返回Map映射的set-view。

通常,返回的集合是AbstractSet的一个实现。而且一般是内部类的形式

这个集合不应该支持add或remove方法,它的迭代器不应该支持remove方法。

EnumSet

用于枚举类型的专用Set实现

aaarticlea/png;base64,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" alt="" />

集合框架的重要实现

主要的实现类有:

Collection下面:

其中List的实现类主要是:

(1)ArrayList

aaarticlea/png;base64,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*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" alt="" />

List接口的可调整大小数组实现。

实现List接口中所有的可选操作,并允许任意元素,包括null。

除了实现List接口之外,该类还提供了一些方法来控制用于内部存储列表的数组大小。(这个类大致相当于Vector,除了它是不同步的。)

此实现是不同步

(2)LinkedList

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAosAAAH6CAIAAADgHpG5AAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA/+AAAP/gGy1pUqAAAgAElEQVR4nO3dfXAc5Z3o+1/HvCgSwraMbbCdaGQkdqmLbGzDEjDBoyyuGUKy3qAQQl2CSJ1IcS4niWtLQ5xkwVLYPfEeKbX2Utz1lU7lYJbCQOJdSNknGpwTtSgMyCCBMcme4MHTwrZ4MZZsyxjheKbvHz0zavX06MWame7p+X6qyzV+pvvpZ55+pn/965eRouu6AAAAl/mM0w0AAAA2iNAAALgRERoAADciQgMA4EZEaAAA3IgIDQCAGxGhAQBwIyI0AABuRIQGAMCNiNAAALgRERoAADciQgMA4EZEaAAA3IgIDQCAGxGhAQBwIyI0AABuRIQGAMCNiNAAALgRERoAADciQgMA4EZEaAAA3IgIDQCAGxGhAQBwIyI0AABuRIQGAMCNiNAAALgRERoAADe6wOkGAMimd95558iRI063wo0+97nPLV261OlWANOg6LrudBsAZM0777yzZMn8iy/mez3O2bPKm2++/emnn65evdrptgBTRQ4NeE9cJO50G9xGcboBwLQRoQHv0UViTrfBbWY53QBg2ojQgPeQQ6fjrlgUHiI04D1xcug0RGgUHiI04D06OXQabp1D4SFCA97Ddeh0RGgUHiI04D0Zc+hjZz6KDB8aHBlMlSwqX1Q9d+n80svy1TancFIBhYcIDXiP/XXo/R++FRk6ZCkcHDk6OHK0cvbnr7vi2ry0zSlEaBQe7p4AvMeI0OOm197rjwxFkrd5W6eBk9r+D99MX2q6kxqqCXa+O/N6TNNLIaUmpJ6zK/92p5ZenmniLDcKDzk04D3Ws9zHzhwfOPnuxMtEhg4tumTB/NJ55sJdkfDQ6LCIVJTM/Up1YGprjxlr1zqbqnaujXZ93TejXwsxIms87SdHMpVPXA9QSIjQgPdYz3JHhg+ZY/b2TV0icsncktPDow2tQfNs80vnmBccGj0eqPqSiISjv5/y3WeptevJ1zOJ0Eaz0yuJJ2+Im2LlnOVG4eEsN+A9uuUk9uDI++a3G1qDIvrVN/rM4VlEBkfeTzsBLgvL5i0sMxJr+zPklvmNF2qotqppr4Rbq5RlSqhXJC7SG1JqFaVWUWpDqpFnH+4M1oZUo7xNlZhovwpa5zHq3Je2bNzUpPSaM7UNKCREaMB79LSrsLbhyhrI7S5gx0ViuyLPi8Qff+tpY9oVeT7z5V4xFvG39Uc7bpTAg1G9T29bKXK4M/idAx27dL1fjz54oO57ndo5oxntdT236326vsEvcXWPvk3v0/V+vftb7XW/UMUyj1GeWtZorW3NXIeGFxChAe9JD71TN27Be6+54/TZ08al6JSh0eFJc+jkWehkS9SnmsL3bGxcKBIX3/X1gZd37jlqzB/ouNOfnM3fuM5nvPZVBuTgQc2oRJq7f5CYx39nR+DltzVT5RlrtkxEaBQerkMD3pP+tFV6kNYzPDZtvdh8yUUXG7OtXrzqbPzPr773pu1s42tIvZu4Dq0djIi8Uqc8kZopUJ+Yp7ZmQXL+wc7g15rCqVm+UD9WVep6c0xEDhw8Iv5EeYaa05vHWW4UHiI04D3WCL2o/LLBkWOp/27ftEdE/vNl7dX/9X8aWteaZpufIfTqIrL36GumkqlE6LE7xXw1VRLwR7u+Ov6+7sHk/IqIiPpMU/jubv2/+kUR7TfBqm6xidBH3g5L7cYFIkeMk/kZak5vHjk0Cg9nuQHvsZ7lrp67OJk06yJ6Q+utDa231m+4uaH1VnN59dzFtueuK0pmm2erKJk94VnuxNp9NUslPKAZ5f6bmsOb13cOJu8je0QduzZsORUfF4mrj24OJ16LiLRv/o0mMZG41vlEu9x9u980s33NnOWGF5BDA95jzaHnl5ZXVyyODB2ZYJnqiiXzS8ttk+OvVK9OK5tCDu2/oVk21Ck7pHmL3raiLRoKVt2pNImINHerbWONTObH/nUdgW/WKTtEpLkjFBA1VVVzfXy98sWwiMhd3fp3/YlljX+X2dVs2yqgwCi6zqEl4B3vvPPOkiWfXnzxh+lv7f/wUKYgXV2xZPmCpTlumpPOnp3/5puffPrpp6tXpx9tAC5FDg14j/3ftlq+oHLRJXMiw+8NjnyUKlxUfln13Cvml872epZJKoLCQ4QGvCfj37aaX1o+v7Rc5Kq0dzx/qzMRGoWHCA14T/rTVqBDUHiI0ID3EKHTkUOj8BChAe/JeJa7iBGhUXiI0ID3kEOn45AFhYcIDXgPOXQ6fWZ/BBNwABEa8B77p62KGxEahYcIDXjNK6+cEVngdCvc5pOysjKn2wBMDxEa8JQrr7wyGo3u3bvX6Ya4UU1NDb8phgLCr34CyJWt+7b+8K9+6HQrgELF37YCkBPqgLohvOGN999wuiFAoSJCA8iJ1p5WEWl9odXphgCFiggNIPvUAVUdUEXk2T89SxoNnB8iNIDsMxLoxGvSaOC8EKEBZFkqgTaQRgPnhwgNIMvMCXSihDQamD4iNIBssiTQBtJo4DwQoQFkU3oCnSgnjQamiQgNIGtsE2gDaTQwXURoAFmTKYFOvEsaDUwHERpAdkyQQBtIo4Fp4Xe5AeSK8rCiP8geBjhP5NAAALgRERoAADciQgMA4EZEaAAA3IgIDQCAGxGhAQBwIyI0AABuRIQGAMCNiNAAALgRERoAADciQgMA4EZEaAAA3IgIDQCAGxGhAQBwIyI0AABuRIQGAMCNiNAAALgRERoAADciQgMA4EZEaAAA3IgIDQCAGxGhAQBwIyI0AABuRIQGAMCNiNAAALgRERoAADciQgMA4EZEaAAA3IgIDQCAGxGhAQBwIyI0AABuRIQGAMCNiNAAALgRERoAADciQgMA4EZEaAAA3IgIDSBXWta0ON0EoIApuq473QYAAGB1gdMNAHCeenp6nG6CF6xZs8bpJgD2yKGBQtXb23vDDX/pdCsKW0/PGy+++OJPf/pTpxsC2CCHBgpazOkGAMgVIjRQ0IjQgGcRoYGCFne6AQByhQgNFDRyaMCziNBAQSOHBjyLCA0UNHJowLOI0EBBy5hDHzvzUWT40ODIYKpkUfmi6rlL55delpeGAZgpIjRQ0Oxz6P0fvhUZOmQpHBw5OjhytHL256+74trcNwzATPG73EBBi6VPr73XHxmKiMRtp4GT2v4P37Rd8DwmrfPbilJjTMHOdyec+aWQ8u1O7ZzpxfmuV3sqOMMaxibAvYjQQEGzBuBjZ44NnHx34mUiQ4eOnTlmWXBX5LePv/Xk4289uSvy20zRffz0Skj5y6qda6P6H3T9j7r+x22yKaTGMs+vJxucejGNSev8jhJ8WpNU/dOuIcMEuBdnuYGCZs0CI8OHzIFn+6YuEblkbsnp4dGG1qB5tvmlc8wLDo0eD1R9SUTC0d9PJblUQ/e1N/9Sb7s+tTpf47+2TRTzjNgcM71QJl2LiS4STyzlu6NLv4P4Cs8jhwYKmjUpHBx53/x2Q2tQRL/6Rp85PIvI4Mj76dnkwrJ5C8vm2VZrnbRfbW5f3XH/ygwzHO4M1iqKMbWpNolv6kVvKDFbrTn/1jrXmxdXQ7VVTXsl3FqlLFNCvaL9Kqis79Rimdd1uDNYG1JTb6VmJodGISFCAwUt/cKqbRDS7crTF4ztijwvEn/8raeNaVfk+QxXgqNhWVrjs72ye7gz+OWm2g5d79f1/mjHwTrlF6qcM6009eJwZ/A7Bzp26Xq/Hn3wQN33jEvLamh5VdPSbr1P1/v1aOVBNeZv64923CiBB6N6n9620pRPT7Auaa97WLb16Xp/d/PepvU7NbG9bg24FxEaKGgzSQrHLXjvNXecPnt6aHTYPMfQ6HCG1FPPEPXjoj7VFL6nu22F8V9f433N8m+7VfMiyRfqU03hezY2LhSJi+/6+sDLO/ccFe3fN7d/oSP6A78xj29do19PW+O4GuzWFReRQMePG326SNx//98HwlGNHBqFhggNFLSp5NCZoql12Usuuth4a/XiFddfcU2m2URi4vt8QCIHNbu7uw9GJPB531jJgqsCcuDgkWTCmspcY9rBiMgTdcr1inKdovxNU1iS2fmVdtm5mBoTH6sh87pqaxaY5te5lxsFhwgNFDRryFlUflkyJOsi+vZNz4vIf76sbd/0vLl8UfllGSKWLqLvPfraq+/tT85sG6FX1gde2bnnSPpbvpoqCUe1sZIjb4dTwVI3rSXmq6mSwMaovlfXXzKmrsaF4vtchtivj4/Q+mTrMndO5kMNwMWI0EBBs2bG1XMXmyNxQ+utDa231m+4uaH1VnN59dzFtueoK0pmm2erKJmd4Sz35Y3bfiRNX1dCfalCNXRTSI2J/6Zm2VEX6k/e8/VEe+BH9/vjpgYnX/hvag5vXt85mFz8EVVi4ltVH+htWv8bzYis2nOdakwk7qtZKuGB5JlqfawG+3VZHuia4PkuwL142gooaNYscH5peXXF4sjQkQmWqa5YMr+03DaD/Er16klXkeD7cpe+ojP4TSX5zFRzt9rmj4ssa9O3iPJ9pV1ERAKhaNdtvrF7xGKmF8vaoqFg1Z1KU3JxiYssaOzqqQmtqVL+Kbl4TEQR/w3NsqFO2SHNW/T742M1ZFyX0XKjcan5p/V8F+AwRdd1p9sA4Hz09vbecMMntm/t//BQpiBdXbFk+YKluWxXIenpUV588cWf/vSnTjcEsEEODRQ0+wR3+YLKRZfMiQy/NzjyUapwUfll1XOvmF86m+uvJuwD4V6MTqCgZbySOr+0fH5puchVU18EgKsQoYGCRjYMeBYRGihoRGjAs4jQQEHjlDXgWURooKCRQwOeRYQGCho5NOBZRGigoJFDA55FhAYK1ejoaE/PAqdbASBXiNBAoVq9evU//uM/Ot0KALnCr34CRWTrvq0//KsfsjqgIPC3rYBioQ6oG8Ib3nj/DVYHFAQiNFAsWntaRaT1hVZWBxQEIjRQFNQBVR1QReTZPz2bh0TT26sD8oMIDRQFI8VMvM59ount1QH5QYQGvC+VYhpynWh6e3VA3hChAe8zp5iJklwmmt5eHZA3RGjA4ywppiF3iaa3VwfkExEa8Lj0FDNRnptE09urA/KJCA14mW2KachFount1QF5RoQGvCxTipl4N9uJprdXB+QZERrwrAlSTEN2E01vrw7IP36XGygiysOK/mD+vvLeXh2Qa+TQAAC4EREaAAA3IkIDRaRlTYvTTQAwVURooIhsumWT000AMFVEaKCI8AASUECI0EARaelpcboJAKaKCA0AgBsRoQEAcCMiNAAAbkSEBgDAjYjQQBHheWiggBChgSLC89BAAbnA6QYA56/1hVbL40Mta1o23bKJ8onLJfeUh5U8rMU96505/uYH0vG3rQBkH39malroLtjiLDcKGL+QBcDDiNAoYPxCFgAPI0IDAOBGRGgAANyICA0AgBsRoQEAcCMiNAoYv5AFwMOI0Chg/EIWAA8jQqOA8Tw0AA8jQqOA8Tw0AA8jQgMA4EZEaAAA3IgIDQCAGxGhAQBwIyI0ChjPQwPwMCI0ChjPQwPwMCI0ChjPQwPwMCI0ChjPQwPwMCI0AABuRIQGAMCNiNAAALgRERoAADea1dLS4nQbgPOkKIq/0u90K2CDTTMtdBdsKbquO90GAABgdYHTDUA29ff3j4yMON0K5FBtbW1FRcVMavDYIKFDsmjmnYnsIkJ7zc03XztrltONQG4cP/7xvn37rr766srKypnU45lBQodkUbY6E1lEhPaeuAhXLrwqW1vWM4OEDskiesB1iNDeE+ObhskwSCzoELgREdp7dJG4021AjmRry3pmkNAhWUQPuA4R2nviIjGn24AcydY+1DODhA7JIiK06xChvSfONw2TYZBY0CFwIyK095ANeFgWb4zyxiChQ7KIK/GuQ4T2nozZwJGPpe+4Ejk1VlJ9qayapy8py1PLMGNKlurJOEiOnfkoMnxocGQwVbKofFH13KXzSy/L0qqziw7Jomx1JrKGCO09Mdts4OMzf346WmI5TI6cksgpWb90tKz0wnw1DzORrR/Stx8k+z98KzJ0yFI4OHJ0cORo5ezPX3fFtVlaexbRIVnEn2lwHTaJ98STu5ux6dC7w5+Mnk0mCtbpk9Gzh94dTl/qPCf154pSE1LPmQpfCllLnJm0zm8rSo0xBTvfnXDml0LKtzu1c6YX57te7angDGsYm7J7Unfc9Np7/ZGhSKZBMnBS2//hmzP/CGqoRgm9lL3+KfgOEYmJvNsZrEmNTCX4lCaOfFk4y+06RGjvse5KTo6MHv3gzIQ3wsSPfnDm5MioZcFdkd8+/taTj7/15K7IbzPtp9IndfcvA4Gb23f3mgp124bZTlrnd5Tg05rEpr7GqdXzSkj5y6qda6P6H3T9j7r+x22yKaROsJZUm6fR+Mxrn3YNGaZcDZJjZ44NnHx34mUiQ4eOnTk240EiyUebLIXnNx4Kv0O0p4PKXzfVPmYMS13/Y7Q+XKU0dmoz/Qo4N7qQNZzl9p64SMz8/6MfnE59Cc+NjvY9s2NIi4rIBSUlax/4SXKR+NEPTs8un21ecGj0eKDqSyISjv7eUmdG2q83t9+3MVopVarattKfuLJlfPljU7vQpSc/wgyvio2rRw3d1978S73t+tSeyNf4r20T7ZXiIrokAoM+/faY1u67o0u/I0t7wGztRq2DJDJ8yFz59k1dInLJ3JLTw6MNrUHzbPNL55gXPJ9BYln7JP0z8Xgo9A452rl+U7j5l3rbqtTMvsZ/7X67tm79M2u76n15vTZMkHYdcmjvsSYox4fPiojx9et75slPTp7w/+DvbnvoZ8nwnHjr+HD6aXBZWDZvYdm85DyTT9qe34Wbb/b7bqgPPLZbtRye7wsptYpSqyi1Y8mr2maUKKFekbgaqq1q2ivh1iplmRLqFTncGawNqb0hpVZR2lSJifarYHolEtc61yfqUdpUiVnr0X61uX11x/0rMzT7cGew1ry4qc2WF702H2EKaw8q65Mpke26jI+Zemt95vwpW+chrYNkcOR989sNrUER/eobfeZoJCKDI+/PeJCkzWbun0nGg+c6RHtpZ9hmZPrvfygQ/t0eLTHkxn9fUsMmfTROa+bcdSayhgjtPemXl8a+hENatPqWNZ+dc2mGr2j6grFdkedF4o+/9bQx7Yo8n/k61uE9O/c2375C5PK19Te2b96ZvJwWF5H2up7b9T5d79e7v9Ve971O7Zxovw7WHeyI9ul6v377QKd2zt/WH+24UQIPRvU+vW3l+AU3+CWu7tG3jVXyC1XOicTU0PKqpqXdRnm08qAas9ajRcOytMZn3+bO4Jebajt0vV/X+6MdB+sUo9pUh6ReHO4MfudAxy5d79ejDx4wPsJU1j6WBU6wLmmve1i29el6f3fz3qb1OzNciczHIDGF0vTT0TMfJJJWSbJ/Jh8PnuuQTCPTt6RW9r6dOFAzN09PntGxHY3Tmjl3nYmsIUJ7j+1FPjG9SD9STrw1+uk584L3XnPH6bOnh0aHzbMOjQ5nTghe2Rm+53Z/XCTuW/vXgfCePdrYsXlz9w/8Rtv8d3YEXn5bM8qNF3Hxr2v06cmZzR9BAh13+pMl/sZ1PuO1rzIgBw9qcdH+fXP7Fzqiycp96xr96fXoGfatcVGfagrf0922wvivr/G+Zvm33ap5keQL9amm8D0bGxeKxMV3fX3g5Z17jk5v7RnXZXzMHxs94L//7wPhqJapk3M7SKZi3ILTHiQ2azd39aTjwWMdkunT6SJfuMoXT7sNYsLROL2Zc9eZyBoitPfYHtQnpgqfL/JCzycn7PcXJRfrlmUvuehi463Vi1dcf8U1yTnt0yP10X8IyxN1yvWKcp1S9Q9heWXnniOmw/NxR+sHDh4R31e7uv/v9rrrFeW6YOfhDDmW1NYsMOW71ynKdcn6JZmFXGmXH5vq8X0+IJGDmk2btYMRCXzeN1ay4KqAHDh4ZHybJTFn6tMpf9MUnvLaEzu+SdZl+pjxZOpjm9jlfJBMFjysrZrWIEkbCaY0cUrjwVsdkmlkagMHxsaVuccSabH9aJz2zDnqTGQNEdp7rOev5s39THKPr6/6xjc+O/tS9V/++bc/a9nz3zebzoPp8+Z+JsP3VhfR9x597dX39pvmT5/27W6X5u69uv5SYuq+O7yzN3m2VkxzHnk7nAxI/vt1/SU9ulGavpZ8HEsfvzszLag+0xS+u1vfaywSMFri+1yG6Guqx7eyPmA+XBibfDVVEo5qtm0b+6R6Ys7Axqg+9gG7GhdOae3JiDvhusz9M0GEy9UgWVR+WXLj6iL69k3Pi8h/vqxt3/S8uXxR+WUzGySWTzquf6Y2HrzVIRlGpvrofws3f8Gf+ODmHkuMDfvROO2Zc9SZyBoitPdYD/MXL7wwtUO5oOTiG+6997aHHrrtoYfWPvCAeV+zeOGFtol1Rcls82wVJbPtz4+pL7XL3cYp7sTkv6k5vPlRNXFg3r75N5rEROJa5xOJOdVHEjet+FbVB8RYylezVMID2ljWImmn4OIicfXRzWHjtW9VfaC3aX2ictGe61RjafVc3rjtR9L0dSXUl6pNDd0UUmPiv6lZdtSF+o1CrfOJ9sCP7veb15V84b+pObx5fedgcvFHVIlNbe36WA3260o/OWn+bzztrewPkuq5i81buaH11obWW+s33NzQequ5vHru4hkNkvEb0fp5Jx8P3uuQxMgMdo6ddlZDN9W1393ddq0xw1UBad9tjJmjnZt3JPrKdjROb+bcdSayhqetvCduORyeXS6LF85KHtfbii1eOGt2udgeR3+lenX6/Omzqbt3SPMW/9guWESW3d4sdbv72vwiIs318fXKF8MiInd169/1S1z8664KflGpExGR5i26ERf9NzTLhjplhzRv0dsuT65OERHxr+sIfLNO2SEizR2hgKgiMZEFjV09NaE1Vco/iYgEQtGumIgyvp4V4vtyl76iM/hNJfn0SnO32uaPiyxr07eI8n2lXZKL3+ZL9KE5CY6JLGuLhoJVdypNycUlPqW13x8fqyHjukwfU1Lzpz9pk619qHWQzC8tr65YHBk6MsEy1RVL5peWz2SQJLQne0BEAqFD25JZ8uTjYUVaXYXfIYmRmRhXCYElvsQAWNC4LbSzyuix6zs67pLwhKNxGjOnI0K7jqLrbBXv6O/vX7783KxZZ9Lf+vhMfNuh+bZLrV96rKyUsykF4Pjxy1599cjVV19dWVl53pVMMEj2f3goU0yqrliyfMHS815pjni0Q97vDN7dFBYJNEe7vpy3R6Kz0pnILnJo77FmA4ayUrmrarjveGnk1EWpwupLz66ad6asVOcqVIGwTX3Orx6bLb58QeWiS+ZEht8bHPkoVbio/LLquVfML53tykHiyQ6Z39j1u8axhuVNPteFKSFCe0880zdtSdmnS8o+zXNr4EoZB8n80vL5peUiV9kt4mF0CNyICO099tkAPCG3KWMBokOyiGMO1yFCew/7Gg8jIFnQIVlEhHYdIrT3xPimYTIMEgs6BG5EhPYesgEPy9XDRQWLDskinutxHSK09+hkA96V3R/o8AA6JIuI0K5DhPYefsAPk2KQWNAhcCMitNe8+GKJSInTrUCOfJyVWjw0SOiQLMpOZyKLiNCesnLlyu3bt2ua5nRDkEMVFRUz+dUn7w0SOiSLZtiZyC5+9RMFbOvWfQ0Ny+bMIfvJIXVAFRF/pT8P62p9oXXTLZvysCK32bpva8Oyhjklc5xuCNyFX2NGoTpxYrSlpWfr1n1ON8TjWntaW3ta87AidUBt6WkxDgiKyonREy09LVv3bXW6IXAdIjQK1dat+06cGN2ypffEiVGn2+JZ6oCamnK9LuM4ID9HA66ydd/WE6MntvRuOTF6wum2wF2I0ChIRmw2XpBG504qXuY6cKYOAvJzNOAeRmw2XpBGw4IIjYJkJNDGa9LoHDEHy1wHTvMRwC9e/kXuVuQ2RgJtvCaNhgURGoUnlUCn/ksanQuWvDl3abQl/O86uOuN99/I0bpcJZVAp/5LGg0zIjQKjzmBNpBGZ1160py7NDo99re+UBRXo80JtIE0GmZEaBQYSwKdKiSNzi7bjDkXabRt4H/2T896Po22JNCpQtJopBChUWDSE2gDaXQWZUqXc5FGZ4r6nk+j0xNoA2k0UojQKCS2CXTqLdLobJkgV85uGj1ByPd2Gm2bQKfeIo2GgQiNQpIpgTaQRmfFxIlydtPoH//vH0/wrofT6EwJtIE0GgYiNArGBAl0agbS6JmbNEvOVhr93J+ee+XoKxPM4NU0eoIEOjUDaTSE3+VGQVOUh3X9QadbgaxRHlb0B4txj1S0HxwTI4cGMIm8nW1uWdOSnxUBBYEIDWASLT0t+VlRcf5hKyATIjQAt/DwrWHAeSBCA3CLvCXrQEEgQgMA4EZEaAAA3IgIDWAS3GINOIIIDWAS3GINOIIIDWASPA8NOIIIDWASPA8NOIIIDcAteB4aMCNCA3CFI6eO/I/X/4fTrQBchAgNOKD1hVblYcU8GemjO8vz0yfn4ucu+MwF+VkXUBD421YoYPxtKy/RTmh1/1YX/X7U6YY4gL9tBVvk0IADuOAKYFJEaMAB/AA1gEkRoQG4wpySORtu2OB0KwAXIUIDcIU5JXN++Fc/dLoVgIsQoQG4wonRE1v3bXW6FYCLEKEBuMKJ0RNberc43QrARYjQgAP4AWoAkyJCAw7gB6gBTIoIDTiA56EBTIoIDTiA56EBTIoIDcAVeB4asCBCA3AFnocGLIjQAFyB56EBCyI0AFfgeWjAgggNOIDnoQFMiggNOIDnoQFMiggNOIDnoQFMiggNOIDnoQFMiggNwBV4HhqwIEIDcAWehwYsiNAAXIHnoQELIjQAV+B5aMCCCI0C1tKyxukmnCeeh0730ScfXfbZy5xuhTMYD7Cl6LrudBsAQNQBtbWntfvebqcbArjFBfmuB5kAACAASURBVE43AEWhp6fH6SYUizVrCvW8glOGhoYOHDjgdCucV15evnLlSqdbgXGI0MiTNWuudboJ3tfT80Zra+umTfxg2fRcc03NvHllTrfCSbGYvP76we3btzc0NDjdFowhQiNvYk43AK7mm+27b/l9Dq1cL/rxqTjdANggQiNvinwPiEn45vh8c3zOrb/IxycR2o2I0MibuNMNgKtpJ7SegZ6G5Y6cZY0X/fjkuR43IkIjb4o8R8EktJPaY/sfcy5CMz7hOkRo5E2R5yhwuSIfn5zldiMiNPKGHAWuxZ1iRGg3IkIjbzLmKEc+lr7jSuTUWEn1pbJqnr6kqJ9/QZ5lHJ/HznwUGT40ODKYKllUvqh67tL5pV76BbQiP4XgUkRo5I19jvLxmT8/HS0RGffbdpFTEjkl65eOlpVemJe2ochlvFNs/4dvRYYOWQoHR44OjhytnP35667wzFP+5NBuxP17yJtY+nTo3eFPRs8m94/W6ZPRs4feHbZd8Hwm9eeKUhNSz5kKXwpZS/I9qaEaJfTSuELtqaDy7U7t/FpVwFzwPLR1eu29/shQJNP4HDip7f/wzeyMAWVsCna+68RQJId2IyI08sa6gzs5Mnr0gzMT7hriRz84c3Jk1LLgrshvH3/rycffenJX5LeZ9p7pk7r7l4HAze27e02Fum3DbCet8ztK8GktsS87/ymtHhHR02bL2KrJmlHAfHN8Dt3IbbB25rEzxwZOvjvxMpGhQ8fOHJvx+JRAx/O6/kdj2vj2XyvKP6kzHmnTn+A6nOVG3lgzvKMfnE7tHc6NjvY9s2NIi4rIBSUlax/4iYgYbx394PTs8tnmBYdGjweqviQi4ejvp5o4ar/e3H7fxmilVKlq20p/4pxePNmwqZziM+LoFGeeVj3xcZ/Cd0eXfkfmPWa2muE6Tj8PbR1IkeFD5q2wfVOXiFwyt+T08GhDa9A82/zSOeYFz2d8mhrgbzsQvWp9VfCZaFe9L39beVa+VoRpIIdG3liP2Y8Pn02WS98zT35y8oT/B39320M/S4bnxFvHh9NPg8vCsnkLy+bZVmufeu75Xbj5Zr/vhvrAY7tVS96wL6TUKkqtotSG1GTiorYZJUqoVySuhmqrmvZKuLVKWaaEekUOdwZrQ2pvSKlVlDZVYqL9KpheicS1zvWJepQ2VWJp9dily9qvgsr6Ti02hWZ4Kg0ynod2aOXppzHigyPvm+doaA2K6Fff6DOHZxEZHHl/xuPTOptv7V8Hwr/boxn/7bUZn6bCYHB9YhBKb8g6htuSubhtJeaJP3LoRkRo5I3tpa/ENKRFq29Z89k5l2bYhaUvGNsVeV4k/vhbTxvTrsjzma+xHd6zc2/z7StELl9bf2P75p2anEtde2uv67ld79P1fr37W+113+vUzon262DdwY5on67367cPdGrn/G390Y4bJfBgVO/T21aOX3CDX+LqHn3bWCW/UOWcSEwNLa9qWtptlEcrD6qxtHqMtMnyAZNZ8uTN8NR1aKdNND5NodQmls94fIq1Et+SWtn7thYTOdwZ/M6Bjl263q9HHzxgjE/pDSnJQn1XvexNXkePj/8gerLcthIGTwEgQiNvMiV8qRfpR/GJt0Y/PWde8N5r7jh99vTQ6LB51qHR4Yw5ivbKzvA9t/tT2cmeZHaii0hz9w/8xm7Xf2dH4OW3NaPceBEX/7pGn56c2bx3lkDHnf5kib9xnc947asMyMGDWly0f9/c/oWOaLJy37pGv309aTv91AxTaYZ3cmhHzbAzxy047fFp04DkHRLqU03hezY2LhSJi+/6+sDLO/ccFfWFdkkWyuWNG+8xDRgZX4mesRJy6ELAdWjkTfpB+ti+qcLni7zQM6/S99k5s8fPEBeRkoutPyhxyUUXG2+tXrzqbPzPr773ZoZViIioj/5DWCSsPDFWtOdIY+Oi5Pypa7oxETlw8Ij4v9rVHVXqrm8XCXT8R1fjIlN7jJljIlJbsyBZw2Bn8GtN4VTtX6iXmGjRsFy50Wd7wThuWqmkZTDJTMg3aTOQLfHM49MsdXhkYV12WuMz+ZbpXW3ggHyh3hfT9kREXqkzDd1AfUw7GJHAl3xjY0AfX4O1XDtoU0laYzi8cyMiNPLGunuaN/czx4cTp+NWfeMbfc88rf7LP0viTrEfJRfR582dlWHXpovI3qOvTbAKERHp290uzd172/zJkKY+omzu1Rq/6rPu0Y68HZbajQtEYuK/X9fvF+03waqvhWqMZXVLhB5bUH2mKXx3t/5f/aKI9ptgVbdITHyfC0j3QS3m91lCafqtXukRWk/MMEkzkEXWwbOo/LLBkWOp/27ftEdE/vNl7dX/9X8aWteaZps/s/GZemvsXfXR/xZufqTLF5eaKgn4o11fHXfLmFol4agmMZ/1hkfLeE6U+2wrsTbmXOa2wTGc5UbeWE/uLV54YTIp0S8oufiGe++97aGHbnvoobUPPJAqF9EXL7zQ9txgRcls82wVJbPtTyGqL7XL3cYp7sTkv6k5vPlRNZE0tG/+jSYxkbjW+URiTvWRxN00vlX1gUTLfTVLJTygWU5CjjsdGheJq49uDhuvfavqA71N6xOVi/ZcpxpLqydu1zmpM5yTNsNTZ7mdfh7a2pnVcxebB1hD660NrbfWb7i5ofVWc3n13MUzGp+JrZZqwNHO4E117Xd3t12bGqvrOwcToyv0iCox8d/ULDs2Jwr7QnU7RMQ4431VQNp39yfq2Zwst62Es9yFgBwaeWNNIGaXy+KFs5K3tNgvsnjhrNnlNsuKyFeqV0+6ChFRd++Q5i3+cdFr2e3NUre7r80vItJcH1+vfDEsInJXt/5dv8TFv+6q4BeVOhERad6i++MiIv4bmmVDnbJDmrfobZcnV6eIiPjXdQS+WafsEJHmjlBAVJGYyILGrp6a0Joq5Z9ERAKhaJeRFpvrWSEi0v59pT3ZtEDo0LZkljx5M1Zk6LeC5Ojfh7b5Xe75peXVFYsjQ0cmWKy6Ysn80vKZjE9DuOlOpSnxOtDxlN51RTJyL2uLhoJViXebu9U2iY8vvKu7+672unhiyG0L7awyhtP1HR13Sdgot63EorAP77xK0XUOnZBzPT09a9bYj7SPz8S3HZpv+9b6pcfKSjnNMw09PYqqqps2bXK6IefDqeehh4aGdH1w3ryPbN/d/+GhTEG6umLJ8gVLc9m0qVG3KXXSrX/XP4MLH7FY6euvf+YPf/hDQ4ODPxoDK3Jo5I19AlFWKndVDfcdL42cuihVWH3p2VXzzpSV8heHpquAv9Hu/PvQyxdULrpkTmT4vcGRsRC+qPyy6rlXzC+d7Y7xmboOPZNbE+Jc9HShAv4+o9BkPI22pOzTJWWf5rMpQJqM43N+afn80nKRq6a+SH6l7oqYYYSG6xChkTduyDbgXh+f/fiSiy5xaOUZc+gC4P8vui4zDrFEaDciQiNvCnYPiLz46MxHlzn2F5cLOUJnBxHajYjQyBt2AXCzIh+fRX6A4lJEaOQNuwBMZPnC5XNK5kw+X05wT2KRH6C4FBEaecMuABO59vJrr738WodWbvtbnkWFx27diAiNvCnyHAWTeOP9NwZODqz7i3UOrb/Ix2eRf3yXIkIjT3p6FjjdBLja/g/2qwOqIxH6rbc+Fin28VlW5nQLkIYIjXxYs2ZNa2ur060AbFRUVPh8vscee8zphjivpKTE6SZgHH71E7DX2vrCpk23ON2KIrJ9/3Z1QP2ff/M/nW6IA7bu29qwrMG5G+XgUvzMG2BDVQdaWnpUdcDphsD7ToyeaOlp2bpvq9MNgesQoQEbra09qX+BnNq6b+uJ0RNberecGD3hdFvgLkRowEpVB4zsOfUCebB84fK//Yu/dboV+WbEZuMFaTQsiNCAlTl1Jo3Om2svv9a5R60cYyTQxmvSaFgQoYFxLHkzaXTevPH+G8/96TmnW5FXqQQ69V/SaJgRoYFx0pNm0uj82P/B/mf/9KzTrcgrcwJtII2GGREaGGObMZNGIxcsCXSqkDQaKURoYEymdJk0GlmXnkAbSKORQoQGEibIlUmjkV22CXTqLdJoGIjQQMLEiTJpNLIoUwJtII2GgQgNiEwhSyaNzrXieR56ggQ6NQNpNITf5QYyUZSHdf1Bp1uBoqA8rOgPsiuGFTk0AFcowuehgYkRoQG4QhE+Dw1MjAgNAIAbEaEBAHAjIjQAVzgXP3fBZy5wuhXOaFnT4nQT4EZEaACucGTkyJJLlzjdCmdsumWT002AGxGhAbjCmso1ayrXON0KZ7S+0Op0E+BGPA8N2ON5aOQNz0PDFjk0AFdQB1R1QHW6FYCLEKEBuELPQE/PAD9+DowhQgMA4EZEaAAA3IgIDQAO43lo2CJCA4DDeB4atojQAFyB56EBC56HBuzxPDTyhuehYYscGoAr8Dw0YEGEBuAKPA8NWBChAQBwIyI0AABuRIQGAIfxPDRsEaEBwGE8Dw1bRGgArsDz0IAFz0MD9ngeGnnD89CwRQ4NwBV4HhqwIEIDcAWehwYsiNAAALgRERoAADciQgOAw3geGraI0ADgMJ6Hhi0iNABXuO6K626vud3pVjiD56Fhi+ehAXs8D4284Xlo2CKHBuAKz/3puTfef8PpVgAuQoQG4ArP/unZ/R/sd7oVgIsQoQEAcCMiNAAAbkSEBuy1tBTp31lC/vE8NGwRoQF7mzbd4nQTUCx4Hhq2LnC6AdLTw2/lz9SaNTPN9tgKmKKZD7ZM/vYv/rZydmWOKne51hdaJw3S/f39IyMj+WlPUamtra2oqHC6Ffacfx66p6dnzZprnW1DQevpeUNV1U2bZnQMzlbAVGRlsCHdVJ6H7u/vX778ylmz8tOiYnH8+Mevvvrm1VdfXVnpxqND53NoERGJOd0ACFsBznruT89Vzq689nKOFCcQF+GHTbLL1f1JhEYKWwFOevZPz/or/UToCcVcHlGQXS6J0HGnGwBhKwCup/M9zTZX96dLIjTZmxuwFQCXi/M9zTYi9ORc3UdFg60AOGPKz0PH+Z4WFZdEaI4K3YCtADhjys9Dk0Nnnauv67skQmc8Kjx25qPI8KHBkcFUyaLyRdVzl84vvSwvDSsqGbfCkY+l77gSOTVWUn2prJqnLynLR7NQJHgeegozZsyh2VWeL8XpBkzEJRHa/qhw/4dvRYYOWQoHR44OjhytnP35667gns/sst8KH5/589PREsuRZuSURE7J+qWjZaUX5qVt8L51f7HO6SY4pqWnZWoROmb7PWVXOQOu/mFNlzQulj699l5/ZCiSPGa0TgMntf0fvmm74HlMWue3FaXGmIKd74rERF4KKd/u1M5laxV200shpSakpq9iuqvO4VY49O7wJ6NnM22FT0bPHnp3OGsdov5csXZIpi7K66SGapLD4+eqONyYxKQ9FZxokIwNITVUo4Rems6yE085xN+HnoJ4+kbJ267yPL8IUxyr0x6W2dp/uvost0sitHVUHTtzbODkuxMvExk6dOzMMcuCuyK/ffytJx9/68ldkd9mGrLjp1dCyl9W7Vwb1f+g63/U9T9uk00hNbXZplLDeU+ZVjHdVedqK5wcGT36wZkJVxE/+sGZkyOjM94KcZG4uvuXgcDN7bt7z68rtM7vKMGnNYnNcLuMr+fdzuBf1sljxtjQ9Vt2h3pnWH+WGhafsGfM/SbJR3QsY+b8ujGH+PvQU2DdIvnaVc7wi2DT8gxjdep1um3/mRMuPcsdGT5k7rvtm7pE5JK5JaeHRxtag+bZ5pfOMS84NHo8UPUlEQlHfz+VQ341dF978y/1tutTq/M1/mvb2JaO5fIqhbHG9FXkYdW2rN119IPTqXF8bnS075kdQ1pURC4oKVn7wE+STY0f/eD07PLZ5gWnuxVERLRfb26/b2O0UqpUtW2lP/HZM3WRLSMOzbzfzPUceTu8umPbyuSnWNXWJrlOJafUMN8dXfodmfcvliEUH9fmSZbNVjciF+KW4ZevXeUMvghTHKuTzGa7oGRj/+nqIO3SHHpw5H3z2w2tQRH96ht95jEnIoMj76cfEC0sm7ewbJ5ttdZJ+9Xm9tUd96+c7LjvcGewVlGMqU1NpBeHO4O1ITX11vpOLZV29IYSM9eG1FhqXcH0QhGRfTYzj63arqpcHQNaaz4+fDZZLn3PPPnJyRP+H/zdbQ/9LBmeE28dH04/DT6drSBxkbi253fh5pv9vhvqA4/tVi2fzq6L1LbEFgn1isTVUG1V014Jt1Ypy5RQb3LrGL3XpkosQ//Htc715i2bVk9cZO/bmm2bbTfNWGEwuD45WnpD1panRlF6Jfbjytow7VfB1JDLOLQsL8aG/diyk3Rj7gYbzo/1dEiedpXT+yKM+/Z1a89MaaymhmVqTJpGZi73n5zlnlz6tQHbXUP6ybq43YKxXZHnReKPv/W0Me2KPJ/hAkk0LEtrfLYXJ1KVH+4MfrmptkPX+3W9P9pxsE75hSrnjCa11z0s2/p0vb+7eW/T+p2anBM53Bn8zoGOXbrer0cfPFD3vcTlwD36Nr1P1/v17m+115lr6Ll9rNyY2bxqm6rSpnxshSEtWn3Lms/OuTTDKJ/BVpCYyOE9O/c2375C5PK19Te2bzZ6Mpaxi7RfB+sOdkT7dL1fv32gUzvnb+uPdtwogQejep/etnL8ghv8Erfr/5gaWl7VtLTbKI9WHlRjafWsvL/jxva6a5VQr6XBdpumN6QkC/Vd9bI3eSwfH9+9erLcthL7cZXWsFSmm2lopTaKpG2g5LKTd2PuBhvGmfLz0A7tKqf3RRj37asTmdpYTQ5L/4bkzvZGkW91t60okP1nTrgkQs/kUH3cgvdec8fps6eHRofNcwyNDmc+erIdyqa31Keawvd0t60wyn2N9zXLvyWTPAl0/LjRp4vE/ff/fSAc1ZLzb2xcKBIX3/X1gZd37jkqEvc3rvMZFfoqA3LwoJY4dmvu/oHfKPff2RF4+W3Nuur0qmbQV+e3FVIv0g82E2+NfnrOvOA0t0JctFd2hu+53R8XifvW/nUgvGePNnZ4m6GLXk4c0fvXGZsgbWtKoONOf7LEpv+1f9/c/oWOaLJy37pGv009vsZHdP3/a25vUpSVSujVRLntplFfaJdkoVzeuPGeZD2WC2OTbl+7cWVt2NjrDEMrNaekDXLd1LBJuzFHgw3jTPl5aNtbCqZoJrvK6XwRrN++KY5Vy8B79dGml1Pf/VzuP109ql16Hdqu11Lbb5JlL7noYmO21YtXnY3/+dX33sywChHf5wPy+4NazO9Lv2JhzB/TDkYk8CWfxJJXNRZcFZCdB4+IX0SktmaBKU3RE/PLK3XKE6mKAvXG0dzXmsKpsi/Ujx2+pWqOiciBg0fEb1q1TVW5O+jLtBXiIvEKny/yQs+8St9n58weP0NcREou1i2LT2MriKiP/kNYJGz6pLLnSGPjosxd9NWu7qhSd327SKDjP7oaF5naY8wck3FbZ9Cm/7VoWK7c6IvZXa+Km1YqIte26b1t0hdSvqsc+Em062/EbtOkDRU92WbLp0iUZ9i+InbjavwVZSW5aWIi701taJl7Prmsb9JuzCueh57CjPG0L1FedpUJU/oiGC/Gj2GZwlhNzaaIiBr6bnvz/6v7jUK772/W9p+ujtAuyaGtZx4WlV+WHGe6iL590/Mi8p8va9s3PW8uX1R+WYZzMrqIvvfoa6++t990UjFt8q2sD7yyc8+RzJXEfDVVEo5qY4VH3g6bB5/lXFPMV1MlgY1Rfa+uv2RMXY0LRX2mKXx3t1EY3RgYa4+5BnPNesaqcniWxlrzvLmfSXadvuob3/js7EvVf/nn3/6sZc9/32zqVX3e3M/MaCvIvt3t0tw99jH17rvDO3uTJ7ozdJH/fqMzpelryScuxk78Whe07X/f5wISOajZNjtu185r26IbA+H/vUez3zRpQyVuqmfKQyXDzGkNS0bujEPLdoyNX3ZK3ZijwWZj3V+sK9o/bNXS0zK1Ga3nafO0q5zOF8FuDE9lrJqGpbqlrv3u7rblE31/J9g5OLP/zAmXRGjraYfquYvNw6uh9daG1lvrN9zc0Hqrubx67mLbsxYVJbPNs1WUzM5wcuPyxm0/kqavK6G+VKEauimkxsYa5r+pWXbUhfqNd7XOJ9oDP7rfb3vqMjl/ePP6zsFkbY+oEjN/TPXRzeHEaxGR9s2/0SSWqFnuvt0fH7dqm6pyd4rGWvPihRem+vCCkotvuPfe2x566LaHHlr7wAPm7l288MIZbQX1peQHT07+m5rDmx9VM3eR+kjivg/fqvpAouW+mqUSHtAsm2NcF43vf9+q+kBv0/pE5aI916nGrPVozwWDz2nJbtf2dIdlaY0vw6bx39QsOzYnCvtCdTuSK738qoC07zaG0NHOzcly++2bYVxl/IAZh1b6Z7fWOXk35m6w2di+f7t2QsvpKgqf9Sx3nnaV0/oiZBzDkiq3G6up2fpCdTuau/8f/9iHzbhgNvafes42Vha49Cz3/NLy6orFkaEjEyxTXbFkfmm57UHQV6pXT7qKBN+Xu/QVncFvKslTes3daps/njymi4ksa9O3iPJ9pV1ERAKhaNdtvsRbRrWp04/J+aOhYNWdSlOyNomLf11H4Jt1yg4Rae4IBURNHb4118fXK18Mi4jc1a1/1y/jV51eVQ5Zu2h2uSxeOEvGvnI2iyxeOGt2uc2yMuWtoO7eIc1b/OM+2rLbm6Vud1+bX8S2i/zrrgp+UakTEZHmLYlTYf4bmmVDnbJDmrfobZcnV6eISIb+X9DY1VMTWlOl/JOIsWVjIsr4er7ctW1XMLF2UwPsN4258K7u7rva6+KJFW0L7awyhtD1HR13SXiC7ZtpXI1v2P3J8oxDKz5WSXty9IpIIHRom55adrJuXGG/2XPjsf2PVc6p9M3x5XOlhSZu+RLlaVfpm9YXIcMYnmSsJmZTQ99vF5G6LybGbPMWvS2n+09XR2hF1x1uX09Pz5o19m3Y/+GhTCOvumLJ8gVLc9mugtHTo6iqumnTFO80yVRJxq3w8Zn4tkPzbd9av/RYWalLTsO4j7pNqZNu/bt+Dz1YnJXBlknd43Wb1mzyV/pzUbnLKQ8r+oOT7Ir7+/uXLz83a9aZ9LfYVZ6348cve/XVI1dffXVlpRvvgXBpDm1YvqBy0SVzIsPvDY58lCpcVH5Z9dwr5pfOdv8lhHzJ1ka078+yUrmrarjveGnk1EWpwupLz66ad6as1HqDGEyMA/aYt376wyV7jKJlzaEN7CpnILfXbmbIJd+3jH00v7R8fmm5yFVTXwTnK2OXLin7dEnZp/lsiiekrqt5KUIjJ2b+96HZVXqSSyI0h3huwFbIKv9/0XVh/4ip4O9DO8fV31AiNFLYCnDSfcvv8832Od0KZ8zgeWjMEBF6cq7uo6LBVoCTGpY3ON0Ex0zn70PzPS0iLonQHBW6AVsBTtq+f/uayjU8bTUhcuisc/XTVi6J0BwVugFbAU7ieegpsP05T8wEEXpyHBW6AVsBcLkC+KFKZJErInRPzwKnmwC2AuB2L75YIlLidCs85mOnGzAR5yP0mjVrWltbnW5FsWMrAA6ayvPQK1eu3L59u6ZpOW9N8amoqHDnb4o5/6ufLqcOqCJSnL9EWORaW1/YtOkWp1tRRIr5Vz89Zuu+rQ3LGuaUzHG6IQWPH1WeRGtPa2sPyWXRUdWBlpYeVR1wuiFFpMifh3a6CVlzYvRES0/L1n1bnW6IFxChJ6IOqKnJ6bYgr1pbe1L/Ij8aljcU7Y3cU/770AVg676tJ0ZPbOndcmL0hNNtKXhE6ImksmfS6KJiHJSZXyAP+PvQHmDEZuMFafTMEaEzMqfOpNFFxZw6k0bnzWP7H9NOak63AjNiJNDGa9LomSNCZ2TJm0mji4QlbyaNBqYolUCn/ksaPUNEaHvpSTNpdJFIT5pJo4GpMCfQBtLoGSJC27PNmEmjPc82YyaNRq5N+e9Du5clgU4VkkbPBBHaRqZ0mTTa8zKly6TRyKkp/31o90pPoA2k0TNBhLYxQa5MGu1hE+TKpNF5wPPQhcs2gU69RRp93ojQVhMnyqTRHjZxokwanWs8D124MiXQBtLo80aEtpo0SyaN9qRJs2TS6Fx79LVHPzrzkdOtwLRNkECnZiCNPj/8LvfklIcV/UF6qegoysO6/qDTrSgiVY9UdX+ruzjTaI/tZDz2cRxEDg0AyCYP3JruEkRoAEA2eeDWdJcgQgOAwzyWdBb6renuQYSenMe+PADcxmNJZ6Hfmu4eROjJeezLA7jThhs2zCmZ43QrnEHSCVtE6Mnx5QHy4Id/9cOijdAknbBFhJ4cXx4gDyb+1QugCF3gdAMA91KUh51uQiGZ4ePjW3q3rLtq3UzSaOVhpWVNy6ZbNrW+0Go5sC6UcsCMXyyZHE/fA5Oa+Q+8zPwXS/iqukTrC63cvpMVnOUGAGQT4TlbiNAAgGzi7tpsIUJPjuehAWDquLieLUToyXHGBsiDmT8PzcE0PIYIPTnO2AB5MPPnoTmYhscQoSfHGRsgD2b+PDQH0/AYIjQAV9jSu2WGEZqDaXgMERoAkE3cEJAtROgpUR5WjBNorS+0Kg8r5olyyr1RnofvUUFw4aYpuHJuCMgWflMMQBZ+jUvxym+KZaUSICvIoQEAcCMiNABXXDh0yfPQbugKwMBZbgBZMPOz3AAsyKEBuOJJYpc8D+2GrgAMRGgArniSuP3l9tNnT8+khqx8Cjd0BWAgQgNwhSOnjiy5dInTrQBchAgNAIAbEaEBAHAjIjQAAG5EhAbgioeAZ94GnoeGx/A8NIAs4HloIOvIoQG44iHgmbeB56HhMeTQAFzxlzOy0Ab+cga8hRwaAAA3IkIDAOBGRGgAANyICA0AgBvNamlpcboNABymKIq/0j/TGvyVzrdhZjVkqxIgkyRH2QAABwlJREFUK7iXGwAAN7rA6QYAyIfXX3/91KlTTrei4F1zzTXz5s1zuhUoFkRooFjcfPOKWbM4Z3b+Tp7886uvvl5VVXXllVc63RYUBSI0UDziInGn21DQ6D3kFREaKB4xYgxQQIjQQPHQidBAASFCA8UjLhJzug0FjR+QQF4RoYHiwXXoGSJCI6+I0EDxIIeeISI08ooIDRSPjHeKHflY+o4rEdPz0tWXyqp5+pKyPLUMQDoiNFA87HNo9b3P9B1XRMY9Kh05JZFT8n/N1YOLOTGeQlcgrzhpAxQPI0KPm7qOSt9xPXmJ2jr9YVhX35P0paY7qaEaJfTSuELtqaDy7U7tXOal3u0M1oTUCWbIMKk/V5Sfq3LufNc7wcTvvSCvyKGB4mG9U+zIx8ofhpWJl+k7rlRfqi8pGxecdkXCQ6PDIlJRMvcr1YGprd3yrFc8+W+mBsQmm2GCFZkXnMZ6tc6mqp1ro11f9017pUD2EaGB4mE9y913/MJU9Do3Otr3zI4hLSoiF5SUrH3gJ6bZlCVl58wLDo0eD1R9SUTC0d9P+e6z8Wv33dGl3zHheWPjrdj5RujUgtNar56c33al5NDIK85yA8XDejY7cmpsD9D3zJOfnDzh/8Hf3fbQz8zhWUQipz6TdgJcFpbNW1hm/A0J+zPklvmtJdqvgsr6Ti0mcrgzWBtSD3cGaxWlVkkUjl9KbVOU2mDnYZG4SG9IMeasDampOU2Fu6e43kS1ilKrhHpF4mqotqppr4Rbq5RlRknaRIRGXhGhgeKRfmF1LPwMadHqW9Z8ds6lGUJs+oKxXZHnReKPv/W0Me2KPJ/5Cq6kVZLKVuMi0l73sGzr0/X+7ua9Tet3anJuLIfWfh2se7y5u6+r8XKRw53B7xzo2KXr/Xr0wQN13+vUzo0r1HdddeBxEX3y9Wq/DtYd7Ij26Xq/fvtAp3bO39Yf7bhRAg9G9T69bWWGTwHkDxEaKB7pd4Slz5DJuAXvveaO02dPG5eiU4ZGhyfMoS1r100lEuj4caNPF4n77//7QDiqjS31WqjqYen4TZtfF4mL+lRT+J6NjQtF4uK7vj7w8s49R8cVyuWNG+8x15x5vbrIy29rcZG4+NcZax/fKnJoOIzr0EDxsF6HNgfpCp8v8kLPvErfZ+fMtlvWmkFectHFxuKrF686G//zq++9aTvb+BrM78bNhbU1C0wp71gG3F73XQn8JNqYeFc7GBF5pU55IlVLoD6mHYxI4Eu+sYvHluvQGdbr+2pXd1Spu75dJNDxH12Ni0wzZLoOPcFVcyD7iNBA8bCeqq2+9Gzk1IXG61Xf+EbfM0+r//LPkrhT7Eem2f6cIfTqIrL36GvjVzHFtcfHn4s239iVOi8tzd2/vmrz16tCV+htq0TEV1MlAX+066vj7rVWqyQc1STmG6tBJozQeuJd//26fr9ovwlWfS1Us7fNr0x2pxiQV5zlBoqH9fztqnmjyfO6+gUlF99w7723PfTQbQ89tPaBB1LlIvqqeaO2Z30rSmabZ6somT3hWW6xO2NsfmFbvrCx65Hm9u8roT6RuPhvag5vXt85aMyshh5RJSb+m5plx+ZEYV+oboepwszrVR9J3GjmW1UfSMzjq1kq4QEt46cgh0ZekUMDxcN6lntJWWzVvAv6jl88wTKr5n26pOxT27e+Ur06rSxzDt3+faU9+ToQOrQtla1OlEOLxESWtUVDB6q+rxwIRbtub4uGglV3Kk0iIs3dapvEjRmShXd1d9/VXmfKgzOt17/uquAXlToREWneovvjIiL+G5plQ52yQ5q36G0r0j4DERp5peg69z4A3vf6668vWxabNet0+lvqe5dkCtKr5n3qv8JmkeJ08uSiV199t6qq6sorr3S6LSgK5NBA8Ui/U0xExH/FyepLL+w7Xho5dVGqsPrSs6vmnVlS9uc8Ns/9yGeQV0RooHhkvJK6pCzjqWwATiFCA8XDPofGlJFDI6+I0EDxIELPEBEaeUWEBooHzwsBhYQIDRQPcugZIodGXhGhgeKhk0PPDL2HvCJCA8WDP9AEFBIiNFAsXnzxQpEFTreioB13ugEoLkRooCisWLHiiSeeeOedd5xuSMErKSnhN8WQH/zqJwAAbsTftgIAwI2I0AAAuBERGgAANyJCAwDgRkRoAADciAgNAIAbEaEBAHAjIjQAAG5EhAYAwI2I0AAAuBERGgAANyJCAwDgRkRoAADciAgNAIAbEaEBAHAjIjQAAG5EhAYAwI2I0AAAuBERGgAANyJCAwDgRkRoAADciAgNAIAbEaEBAHAjIjQAAG5EhAYAwI2I0AAAuBERGgAANyJCAwDgRkRoAADciAgNAIAbEaEBAHAjIjQAAG5EhAYAwI2I0AAAuBERGgAANyJCAwDgRv8/UeP70KcWvCsAAAAASUVORK5CYII=" alt="" />

List和Deque接口的双端链表实现。实现List接口所有的可选操作,并允许任意元素(包括null)。

此实现是不同步。

(3)Vector

aaarticlea/png;base64,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" alt="" />

Vector类实现了一个可增长的对象数组。

像数组一样,它包含可以使用整数索引访问的组件。

不同于数组的是,Vector的大小可根据需要增大或减小,以适应在创建Vector之后添加和移除项目。

同步的

(4)Stack

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAmYAAAHfCAIAAAB1Y4P9AAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA/+AAAP/gGy1pUqAAAgAElEQVR4nO3df3Ab9b3v//dCIKkdJyQhCfkBkV2bKXNxID+4lB/Bcg8ZicIpc0hpy1xK6HdqN/3yLZfvGYnmnDkhcenckx67c8Jhek5qze0UDkOANr23vcnFSu6p1+kNEMCe0gTO9xIRKeQXJY0d4hCcNNLn+4d+eC2t5FW80nql52N2QFntj492P9qX3qtdWVNKCQAAGM9lTjcAAAB3IDIBALCEyAQAwBIiEwAAS4hMAAAsITIBALCEyAQAwBIiEwAAS4hMAAAsITIBALCEyAQAwBIiEwAAS4hMAAAsITIBALCEyAQAwBIiEwAAS6Y43QC43gcffHD06FGnWzEZXXvttQ0NDU63AoBtNKWU022Au33wwQeLF8+ZOlVzuiGTy/nzcuBA5Ny5c6tWrXK6LQDsQZUJWyScbgAAlByRCVsoUjMHFwoAlYbIhC2ITACVj8iELeIicafbAAClRWTCFlSZuTgxC1QaIhO2UFSZOYhMoNIQmbBFIl+VefLcnyJDh44PH8+MWVi3sHFWw9yaq8vVNqdw+xZQaYhM2CJhWmW+8/GByOChrJHHh48dHz62ZOZ1KxfcXJa2OYUz1UCl4dwRbKHSVwCNDm+fGIgMRtIFaPZw+JPYOx//IXeuYgc92OQPfTjx5RiG14JaU1C/aDb+W6FY7vh8A5EJVBqqTNgi+8TsyXOnDn/yYeF5IoOHFk6fN7dmjnHkjkh4cGRIRGZPm3Vfo8/a2lP5FAu1129fHe35qkcm8lNEyROqCcleSL7xhZcDoHIQmbBF9onZyNAhY4g+t7FHRKbPmnZ2aGRth9842dyaq4wzDo6c8tV/SUTC0d9avqQos3aVfjyRyEw2O3chiXQxbXHhVJlApeHELGyhss67Hh/+yPj02g6/iLrhNo8xL0Xk+PBHOedsZX7tnPm1ydLT/KRu1vTJB3qwub59r4Q76rWlWnCfSEJkX1Br1rRmTWsO6slK9EjI3xzUk+M7dYlL7Bf+7GmSy3wzZ96EoUm5S87XNgCVg8iELRJm3+Tl5kd2suaZMb4jsksk8fyBl5PDjsiu/F8Zptbu7RyIdt8mvg1R1a86l4scCfm/vb97h1IDKrphf+t3Q7GLyWZ0tfbdq/qVesIrCX232qr6lRpQvd/sav2xLlnTJMdn5k221nTJuQ3jxCxQaYhM2CI3C60bM+MjNz5w9sLZ5NeZGYMjQ+NWmekTp+mW6C+1hx9e3zZfJCGeW9b4Xt+++1hyel/3g970ZN62+z3Jx54lPjl4MJZciAR6H09N432w2/f6+zHDwvMuOWsgMoFKw3eZsEXuTSa5qany/EhQ9heW06+cmpzsjkUrLiT+/NaJP5hONnYJmWdT32XGDkZE3mjVXshM5FuTmqa5aV56+uMh/1+1hzOTfHHN6KIy31nGRWT/waPiTY3Ps+Tc5vHbDkClITJhi+zIXFh39fHhk5l/Prdxt4j8++uxt/7n/7e2Y7Vhsrl5okWJyN5jbxvGWInM0ct/PE314vNGe/5y7NWzx9PTayIi+ivt4Yd61f/jFU1iv/HX94pJZB59PyzN6+eJHE1e/pNnybnNo8oEKg0nZmGL7BOzjbMWpctKJaLWdty9tuPuNU/cubbjbuP4xlmLTE+3zp420zjZ7GkzC56YTa3d09Qg4cOx5Hjv7YHw5nWh4+mLg57VR79fzDp7nBBJ6D/ZHE49FhHp2vybmMRFErHQC13y0L1ew8TmS+bELFD5qDJhi+wqc25NXePsRZHBowXmaZy9eG5NnWn5eF/jHTnjLFSZ3lsD8kSrtk0CW1Tnss5o0F//oNYuIhLo1TtHG5muIL33d/u+0aptE5FAd9AnemZRgTWJddqqsIjI13vVd7ypeZP/XWq2ZNNWAagomlJ8FsaEfPDBB4sXn506dSj3qXc+PpQvNRtnL75pXkOJm+ak8+dnHThw8dy5c6tWrXK6LQDsQZUJW5j/JZOb5i1ZOP2qyNCJ48N/yoxcWHd146wFc2tmVnodxodRoNIQmbBF3r+XObembm5Nncj1Oc9U/J3+Ff8CgapDZMIWuTeZIDGx3+0DMOkQmbAFkZlLEZlAhSEyYYu8J2arWIKbuIAKQ2TCFlSZufgMAVQaIhO24A935OKKWaDSEJmwhflNJtWNzxBApSEyYYM33rgoMs/pVkw28enTnW4CAFsRmZioz3/+84cPH/7d737ndEMmo4aGBn79B6gY/GAeKsozbz7zn//jf3a6FQAqExfBo3Loh/Unwk/8/qPfO90QAJWJyETl6OjrEJGOPR1ONwRAZSIyUSH0w7p+WBeR//5//juFJoBSIDJRIZIlZuoxhSaAEiAyUQkyJWYShSaAUiAyUQmMJWZqDIUmALsRmXC9rBIziUITgO2ITLhebomZGk+hCcBWRCbczbTETKLQBGAvIhPulq/ETD1LoQnAPkQmXKxAiZlEoQnARvzGLCqK9rSmNtClAZQEVSYAAJYQmQAAWEJkAgBgCZEJAIAlRCYAAJYQmQAAWEJkAgBgCZEJAIAlRCYAAJYQmQAAWEJkAgBgCZEJAIAlRCYAAJYQmQAAWEJkAgBgCZEJAIAlRCYAAJYQmQAAWEJkAgBgCZEJAIAlRCYAAJYQmQAAWEJkAgBgCZEJAIAlRCYAAJYQmQAAWEJkAgBgCZEJAIAlRCYAAJYQmQAAWEJkAgBgCZEJAIAlRCYAAJYQmQAAWEJkAgBgCZEJAIAlRCYqyqaWTU43AUDF0pRSTrcBAAAXmOJ0A+AmfX19TjehErS0tDjdBACXgioTRfjd7363atVSp1vhbn19v9+zZ8+GDRucbgiAolFlolhxpxsAAM4gMlEsIhNAlSIyUayE0w0AAGcQmSgWVSaAKkVkolhUmQCqFJGJYlFlAqhSRCaKlbfKPHnuT5GhQ8eHj2fGLKxb2DirYW7N1WVpGACUFpGJYplXme98fCAyeChr5PHhY8eHjy2Zed3KBTeXvmEAUFr8xiyKFc8d3j4xEBmMiCRMh8OfxN75+A+mM17CEAt9S9OakoM/9GHBiV8Lat8KxS4aHlzqemMv+Se4hNEBgFsRmShWdiKePHfy8CcfFp4nMnjo5LmTWTPuiLz6/IEXnz/w4o7Iq/niduzwRlD7Qv321VH1rlLvKfXeVtkY1OP5p1fpBmceFDHEQt/W/C/HJLP8opeQZwDgVpyYRbGy66TI0CFjEjy3sUdEps+adnZoZG2H3zjZ3JqrjDMOjpzy1X9JRMLR31opv/Tgo12Bn6nOWzKr87T9S2ehEEqGZdzwQBt3LQZKJJGay/NAj3qAwAOqHFUmipVdNh0f/sj49NoOv4i64TaPMS9F5PjwR7n11vzaOfNr55guNnuI/WJz1x3djy3PM8GRkL9Z05JDp25SGmYe7AumJms2Vqix0Drj7Hqwub59r4Q76rWlWnCfxH7h19aFYvH86zoS8jcH9cxTmYmpMoHKQWSiWLlfzpmmgjIbnztjfEdkl0ji+QMvJ4cdkV15vk2MhqWhyWP67eCRkP/L7c3dSg0oNRDtPtiq/ViXi4aVZh4cCfm/vb97h1IDKrphf+t3k19P6sGb6tsbelW/UgMquuSgHvd2DkS7bxPfhqjqV53LDRVngXVJV+vTsrVfqYHewN72ddtjYvrdJwC3IjJRrImUTWNmfOTGB85eODs4MmScYnBkKE9xpvLEcEL0l9rDD/d2Lkv+09P2aED+dadunCX9QH+pPfzw+rb5Ignx3LLG9/r23cck9qvNXV/sjj7uTU7jub/Nq3LWOGYJZutKiIiv+2/aPEok4X3s73zhaIwqE6gsRCaKZaXKzBdv2fNOv3Jq8qk7Fi27ZcGN+SYTiYvnOp9EDsbMrqE9GBHfdZ7RMfOu98n+g0fTJV2mtovHDkZEXmjVbtG0lZr2lfawpOvXz5vVr2JoTGJ0CfnX1dw0zzC94opZoMIQmShWdgYsrLs6nZFKRD23cZeI/Pvrsec27jKOX1h3dZ4IUSJq77G33zrxTnpi08hcvsb3xvbdR3Of8jTVSzgaGx1z9P1wJr2UYS1xT1O9+NZH1V6lXksOPW3zxXNtnjBWYyNTjbcu48bJn/0AXIvIRLGya8fGWYuM0bi24+61HXeveeLOtR13G8c3zlpkelp19rSZxslmT5uZ58TsNW1bvy/tX9WC/ZmRevD2oB4X7+0B2dYaHEhfyPNCl+/7j3kThganH3hvD4Q3rwsdT8/+rC5x8axY49vXvu43sWTUxX4d0uMiCU9Tg4QPp0+uqtElmK8r6z6WAre1AHArbjJBsbLrpLk1dY2zF0UGjxaYp3H24rk1daY11n2Nd4y7ihTPl3vUspD/G1r6VpFAr97pTYgs7VRbRPue1iUiIr5gtOcez+iFP3HDg6Wd0aC//kGtPT27JETmtfX0NQVb6rUfpWePi2jivTUgT7Rq2ySwRT2WGF1C3nUlW55sXGb6om5rATCpaUopp9sA1/jd7363apV5nr3z8aF8qdk4e/FN8xpK2S436evT9uzZs2HDBqcbAqBoVJkolnlk3jRvycLpV0WGThwf/lNm5MK6qxtnLZhbM5Pv8Ax40wFuxbsXxcr7bdzcmrq5NXUi11ufBQBchMhEsagXAVQpIhPFIjIBVCkiE8XiLCuAKkVkolhUmQCqFJGJYlFlAqhSRCaKRZUJoEoRmShCIpHo65vndCsAwBlEJoqwatWqp59+2ulWAIAz+ME8OOanAz9du3TttCnTnG5IIadHTv/6//x67U1rnW4IAOfxl0zgjNMjp9f/2/qfDvzU6YaM45k3n1n/2/UjF0ecbggA5xGZcMYzbz5zeuT05r2bJ3ManR45vWXflo/OfjT5ox1AGRCZcEAyikRkkqdRMtdFZJJHO4DyIDLhgEwUySROo0yuy6SPdgDlQWSi3IxRJJM4jYy5LpM42gGUDZGJcsuKIpmUaZSV6zKJox1A2RCZKKvcKJJJmUa5uS6TMtoBlBORibIyjSKZZGlkmusyKaMdQDkRmSiffFEkkyyN8uW6TLJoB1BmRCbKp0AUyaRJowK5LpMs2gGUGZGJMikcRTJp0qhwrsukiXYA5cdvzMIx2tOa2uCC7ueWdgIoNapMOGZTyyanmwAARaDKBMZBlQkgiSoTjunY0+F0EwCgCEQmHLOpb5PTTQCAIhCZAABYQmQCAGAJkQkAgCVEJgAAlhCZcAz3ZQJwF+7LBMbBfZkAkqgy4RjuywTgLkQmHMN9mQDcZYrTDYAzOvZ0ZCXWppZNG+/aWP7xrqA9rZVzdZwHBiYnvssEJhe+OgUmLU7MVim+RwSAYhGZVcqNZ0cBwFlEJgAAlhCZAABYQmQCAGAJkQkAgCVEZpXi910BoFjclwlMLtyXCUxaVJlVivsyAaBYRGaV4r5MACgWkQkAgCVEJgAAlhCZAABYQmQCAGAJkVmluC8TAIrFfZnA5MJ9mcCkRZVZpbgvEwCKRWRWKe7LBIBiEZkAAFhCZAIAYAmRCQCAJUQmAACWEJlVivsyJy12DTBpcV8mAACWTHG6AZPFwMDA8PCw061ACTU3N8+ePXsiS6iwTjLxDQJUGyJz1J133nz55U43AqVx6tSnb7755g033LBkyZKJLKdiOoldGwSoKkSmUUKE09SVyq49WzGdpDJeBVBWRKZRnOMIxkMnAaoXkWmkRBJOtwElYteerZhOUhmvAigrItMoIRJ3ug0oEbsSomI6CZEJFI3INEpwHMF46CRA9SIyjSqmgEAuGy//qYxOwjeyQNGITKO8BcTRT6X/lBY5MzqmcYasmKMW15apZZgwzabl5O0kJ8/9KTJ06Pjw8cyYhXULG2c1zK252qZV28uuDQJUESLTKG5aQHx67s8vR6dlfSqPnJHIGVnXMFJbc0W5moeJsOu3Ic07yTsfH4gMHsoaeXz42PHhY0tmXrdywc02rd1G/FgmUDTeNkaJ9AFxdDj04dBnIxfStUX28NnIhUMfDuXOdYmD/vea1hTULxpGvhbMHuPMEAt9S9OakoM/9GHBiV8Lat8KxS4aHlzqemMv+Se4hNHB3hOzY4a3TwxEBiP5OsnhT2LvfPyHib8EPdikBV+zb/twYhYoGpFplH2w+2R45NgfzxW83CNx7I/nPhkeyZpxR+TV5w+8+PyBF3dEXs13JM0d9J0/8/nu7Nq5zzBSmTbMdIiFvq35X45J3PoarS3njaD2hfrtq6PqXaXeU+q9rbIxqBdYS6bNRTQ+/9qLXkKeoVSd5OS5k4c/+bDwPJHBQyfPnZxwJ5H0LS5ZIy+tPwAoGidmjRIiceO/j/3xbOYQc3FkpP+VbYOxqIhMmTZt9ZN/m54lceyPZ2fWzTTOODhyylf/JREJR3+btcy8Yr/c3PXo+ugSqdf1zuXe1FdNyUNb3No3Tyr9Eib4NdWY5ejBR7sCP1Odt2SOs562f+ksdMxNhmXc8KCo9hjW7nmgRz1g0/HdrpDI7iSRoUPGhT+3sUdEps+adnZoZG2H3zjZ3JqrjDNeSifJWvs426dwfyA1gaJRZRplf4Q/NXRBRJIHl/5XXvzsk9Pex//6nqd+kM7L1FOnhnLP3Mr82jnza+ekp7FQXe3+X+HAnV7PrWt8P9+pZ1UDbwa1Zk1r1rTm0fJO70yO0YL7RBJ6sLm+fa+EO+q1pVpwn8iRkL85qO8Las2a1qlLXGK/8OcuRBKx0LrUcrROXeLZy4n9YnPXHd2PLc/T7CMhf7Nx9pzSJ/Ngn8lLsLB2v7YuFIvnX1fyZWaeykycO9h1HjK7kxwf/sj49NoOv4i64TaPMS9F5PjwRxPuJDmTGbfPOP2hdBsEqCJEplHu9z2jh5jBWLTxrpbPXTUjz+Esd8b4jsgukcTzB15ODjsiu/J/sXRk9/a9gXuXiVyzes1tXZu3x+RiejnS1dp3r+pXakD1frOr9buh2EWJ/dLferA72q/UgLr3cCh20ds5EO2+TXwboqpfdS4fO+MTXknou9XW0YX8WJeLInE9eFN9e0Nvcnx0yUE9nr2cWDQsDU0e8zaH/F9ub+5WakCpgWj3wVYtudjMBsk8OBLyf3t/9w6lBlR0w/7kS7Cy9tE6qcC6pKv1adnar9RAb2Bv+7rMpssaytFJDNmWewZ14p1EchaS3j7j94fSbRCgihCZRqZfFInhQe4H89RTI+cvGmd85MYHzl44OzgyZJx0cGQobwERe2N7+OF7vQmRhGf1X/jCu3fHRkuBQO/j3mTbvA92+15/P5Ycn3yQEO/9bR6Vntj4EsTX/aA3Pcbbdr8n+dizxCcHD8YSEvvV5q4vdkfTC/fc3+bNXY7Kc/RPiP5Se/jh3s5lyX962h4NyL/u1I2zpB/oL7WHH17fNl8kIZ5b1vhe3777WHFrz7uu5Mv8m+QW8D72d75wNFaoSitdJ7FizIxFdxKTtRs39bj9oUQbBKgiRKaRaR2QGmZ7PJE9fZ+dNj+iTZuqsuadfuXU5FN3LFp2y4Ib89QZ6Yshf/LDsLzQqt2iaSu1+h+G5Y3tu48aqoExxcH+g0fF85c9vf+pq/UWTVvpDx3JU4VIc9M8Q0W4UtNWppcvInGJRcPyebMK0rAcz3U+iRyMmbQ5djAivus8o2PmXe+T/QePjm2zpKbMvDrtK+1hy2tPHdbHWZfhZSbS356a1oIl7yTjfc7IblVRnSSnJ4xuH2v9oUQbBKgiRKZR9gm9ObMuSx+C1Yqvfe1zM2fo//SPr/5g0+5/2Jw+LMZF1JxZl+U5KikRtffY22+deMcwfe7w5s4uCfTuVeq11ND7UHj7vvQJRjFMefT9cDohvI8p9ZqKrpf2v0rfhaKyInP0sf5Ke/ihXrU3OYsv2RLPtXni0LAcz/I1PmN+jw6epnoJR2OmbRt9pSo1pW99VI2+wJ62+ZbWno7Agusybp8CkVOqTrKw7ur0zlUi6rmNu0Tk31+PPbdxl3H8wrqrJ9ZJ8kVmevrx+0OJNghQRYhMo+zKYNH8KzKHvCnTpt76yCP3PPXUPU89tfrJJ41Hw0XzrzAtPWdPm2mcbPa0mXnOcL7WJQ8lz8qmBu/tgfDmn+ipOqBr829iEhdJxEIvpKbUn01dRONZscYnqdOVTQ0SPpw+LZl1g4dk/qn/ZHM4+dizYo1vX/u61MIl9uuQHs9ZzjVtW78v7V/Vgv2ZpenB24N6XLy3B2Rba3AgOTIWeqHL9/3HvMZ1pR94bw+EN68LHU/P/qwucWtrV6NLMF9X1ssscFtLqS7/aZy1yLiX13bcvbbj7jVP3Lm2427j+MZZiybUScbuxOzXO35/KN0GAaoIN5kYJbI+fc+sk0XzL09/YDcVXzT/8pl1Yvqx/b7GO3Knz51M37lNAlu8Y06ULb03IK07+zu9IiKBNYl12qqwiMjXe9V3vJIQ7/3X+1dprSIiEtiikkHlvTUgT7Rq2ySwRXVek16dJiLivb/b941WbZuIBLqDPtFF4iLz2nr6moIt9dqPRER8wWhPXEQbu5xl4vlyj1oW8n9DS9+qEOjVO70JkaWdaoto39O6JD37PZ7UNjSWiXGRpZ3RoL/+Qa09PbskLK39scToEvKuy/AyR6vM3NsqSvUbs3Nr6hpnL4oMHi0wT+PsxXNr6ibSSVK60ltARHzBQ1vTdeT4/WFZzrKITKBomlK8c0REBgYGbrrp4uWXn8t96tNzia2H5prOta7hZG0NlboLnDp19VtvHb3hhhuWLFlyyQsp0Ene+fhQvtRsnL34pnkNl7zSErFlgwDVhirTKLuASKqtka/XD/WfqomcuTIzsnHGhRVzztXWKL4Wcgl7L//JdtO8JQunXxUZOnF8+E+ZkQvrrm6ctWBuzcxJ2Um4/AcoGpFplMh3HFlce35x7fkytwaTUt5OMrembm5Nncj1ZrMAqAREppF5AYGKUNoq04UIcqBoRKZRxRwNkYvIzEJkAkUjMo3iHEcwHjoJUL2ITKOKKSCQq1Q3mbgWl8oDRSMyjRQFROWy96cMKgCRCRSNyDTih8QwLjoJUL2IzFH/+39PE5nmdCtQIp/aspQK6iT2bBCgqhCZKcuXL3/uuedisZjTDUEJzZ49eyI/dlN5nWSCGwSoNvxgXpV65pk3165detVVlVEwTVL6YV1EvEu8ZVhXx56OjXdtLMOKgGrG76NWo9OnRzZt6nvmmTedbkiF6+jr6OjrKMOK9MP6pr5NyYQGUDpEZjV65pk3T58e2bJl3+nTI063pWLph/XMUOp1JYO5PPEMVDMis+okwzL5gEKzdDIBVuoky6RyeeIZqGZEZtVJlpjJxxSaJWJMr1InmTGSKTSBkiIyq0umxMz8k0KzFLKiq3RJlpXHFJpASRGZ1cVYYiZRaNouN7dKl2S5YUyhCZQOkVlFskrMzEgKTXuZhlYpksw0iSk0gdIhMqtIbomZRKFpo3yJVYokyxfDFJpAiRCZ1cK0xMw8RaFplwJxZW+SFchgCk2gRIjMapGvxEyi0LRF4ayyN8kKBzCFJlAKRGZVKFBiZiag0Jy4cYPKriQbN30pNIFS4Ddmq5SmPa3UBqdbAQBuQpUJlFDHnjKdIC3bioBqRmQCJbSpb1OFrQioZkQmAACWEJkAAFhCZAIAYAmRCQCAJUQmUEKbWjZV2IqAasZ9mVWK+zIBoFhUmUAJcV8mUEmITKCEuC8TqCREJgAAlhCZAABYQmTCZTr2dGhPa8Yh+TXe5Bzv4IYCYDuumK1SXDFbYbSnNbWB9zJQWlSZcBkuDTXFfZlAGVBlVin3VpmUUwCcQpUJVAKKb6AMiEygEnBfJlAGRCYAAJYQmQAAWEJkwmW4NBSAU4hMuMzGuzY63QQAVYrIhMtwaagpim+gDLgvs0pxXyYAFIsqE6gEFN9AGRCZQCXgvkygDIhMAAAsITIBALCEyITLcGkoAKcQmXAZ7ssE4BQiEy7DpaGmKL6BMuC+zCrFfZkAUCyqTKASUHwDZUBkApWA+zKBMiAyAQCwhMgEAMASIrNKbdrU4nQTLhGXhgJwClfMApWAC4mBMpiS/F9fX5+z7ahULS0TLebYNWUz8Z3lICvFN33JFThoTAb59kKqyuzr62tpubm8Tap8fX2/13V948YJ/VoNu6Y8bNlZkxx9afLjoDEZFNgLUwyP42VrEIrErsE4OvZ0WPspQfpSlWBHlwSR6QrsGoxjU98mIhMG7OiSMEZmwrFWYBzsGtiFvlQl2NElQZXpCuwa2IW+VCXY0SVBlekK7BrYhb5UJdjRJUGV6QrsGtiFvlQl2NElYanKPHnuT5GhQ8eHj2fGLKxb2DirYW7N1aVsGzLy7pqjn0r/KS1yZnRM4wxZMUctri1HszB5WP5RJN7mVYIdXRLjV5nvfHwgMngoa+Tx4WPHh48tmXndygXc/VMG5rvm03N/fjk6TWTMb75EzkjkjKxrGKmtuaIsbcOkYO1yWeFtXjXY0SVh/I3ZeO7w9omByGBEJGE6HP4k9s7HfzCdsdhBDzZpWnL4e10uWp0x9pJf+1Yolm/614LJZ8eZzHTGpqCeO316gVaXYxeThR/6cOizkQv5ds1nIxcOfThky64RiYv+91r2Bsm3ico36MEmLfhaMf2hPDvLGZb/XqbJay/L2/zDkD/zHm/S/C/FrL/NC3XLYg4X4y/N4S5taz90akenhljoW5nd7Q99KBIv/vh5CUPJD93GyMzegifPnTz8yYeFd0tk8NDJcyezZtwRefX5Ay8+f+DFHZFX8+0ew/BhyP+FVvm5Uu8p9Z5Sd+0M7rMwV2YwaXl6UIZnC0xWeEYr4wu0zRbZS/5keOTYH88VXEXi2B/PfTI8MrFdkxr0nT/z+e7s2mncL0Vsiljo25r/5ZjEi9l0VpYjIsp6fxivGe5m+e9lZr/wcr3N4yIS6H1XqfeU2tUtG+qLe5ubDsqsA1ziYNbJHRns4tSOToi8EdS+UL99dVQld/d7W2VjUI8Xf/y8tEEF+q4AABvjSURBVC5hugrbDt2FTsxGhg4ZZ35uY4+ITJ817ezQyNoOv3GyuTVXGWccHDnlq/+SiISjv7Xwueno++E7urcuT0+5orPTpDHmPA/0qAfyv8LkloqPN5npjMk2aOYLzB5fatlb49gfz2b27sWRkf5Xtg3GoiIyZdq01U/+bbqpiWN/PDuzbqZxxiJ3jYiIxH65uevR9dElUq/rncu9qdeebxOZSh7XJr7dcpeTGPMqxtnRdjXD1Zx6mxs7zIK29Y+2b47GZLlnQvtCGZY5Mead3NWc2tGiBx/tCvxMdd6SWZ2n7V86R6OrpG/Akh+6C1WZx4c/Mk66tsMvom64zWPcviJyfPij3IieXztnfu0c08WaDXvfj5mO3xfUmjWtWdOag3qyODgS8jcH9eT4zt7YK35tXSgWF0lI7Bf+7IkTqQbEfpGaTO/U0tNoWrOW/Jybd8Y3c9aeMLyi3LYV8VGlSNlLPjV0IT1e+l958bNPTnsf/+t7nvpBOi9TT50ayj1zW+yuScR2/69w4E6v59Y1vp/v1LNendkmymzk4D6RhB5srm/fK+GOem2pFtyXtQd1iefZ/olYaF16T3XqEs9ZTsLkJWR29PjNKN3OmuQcfJtnTZYuEE06QLKTHAn5k+PT+zTrfbfTuLTMxOl+lX24GO1IJp0tbyfP7of5R5odEMZ2QvMx5TpolGlHx36xueuO7seWj9cHCuyv8fZ7ZvM6cegu/F2m6YJMz4TkzhjfEdklknj+wMvJYUdkV56zxssf676tq/VmLbhv7PgjIf+393fvUGpARTfsb/1uKHYx2Yau1r57Vb9ST7SmtkJcJK7vVltVv1IDqvebXa0/1uWioW3p8sL7hFIDSg1Eu28T+WZv57L8M2bWkhyfWXsif9uKOCFepEK7ZjAWbbyr5XNXzciz7yeya+IiR3Zv3xu4d5nINavX3Na1eXv6K6g8myj2S3/rwe5ov1ID6t7DodhFb+dAtPs28W2Iqn7VuTxrD3olYbb943rwpvr2ht7k+OiSg3o8Zznx9HvA2Nr0jh6/GaXbWZOcU2/zhGHt+4Ktz/vW/EePJAq+AZ+Wrf1KDfQG9ravS3Y8w/tO7bh+//Pp0uFIyP/l9ubu9Lv7YKuW+0be0e17vlW7eee9/ckjQKaz5e/kJv0wz0izA0JOJzQZ49BBo4Q7OhYNS0OTJ18fyBw/C+yvgvvdcLx15NBdqMosZveMmfGRGx84e+Hs4MiQcYrBkaF8H0w8bc8q9dNAV7umLdeCb6XG6y+1hx9e3zZfJCGeW9b4Xt+++1iyVb7uB72pPT36ZYa37X5P8rFniU8OHowZn836zuOtn7S/Huh9PLmQPDNKZgLxPtjte/194wLztu2SN2ARm9ew5MyD3D+UmHpq5PxF44zF7hqJvbE9/PC93oRIwrP6L3zh3btjifQmzbeJXk+dM/De3+Yx3f7GPWi2/WO/2tz1xe5oeuGe+9u85svJecMb9/i4zSjRzprkHHubi0hX6wpNW65pP7s++lZP2zX537nJTvI3yR3nfezvfOFoLOt9J9e0rX/Y+H7s7VyWPp48GpB/TReLmV56zeo1XxTf3z2W6cyZdeXr5Kb90HSk+QEhtxOadssyHzRKvaMLvMuUlf01zn43HG8dOXQXW2Xm2xzZ806/cmryqTsWLbtlwY35JjMMN3eqfUr9c6DrO5r/VzG5GDsYEXmhVbtF01Zq2lfaw5kWSnPTvJyPrkdC/pWatlLTVmr1PwyPvhzJ+YQb14Pf6Qr8c6c3YWHG0Q8d+w8ezYzP3zYHPjDO9ngie/o+O23eg6dNVRPZNfpPfhjOvNL6H4blje27jxbaRJ6/7On9T12tt2jaSn/oiGFK4yqMe9Bs+8eiYfm82QfV7OWYbRYRiVtrRol2ljMs35fp4NtcAr1vKLWvN/BG+7r/lq7k8r4Bx77NVep957vOM7pAlWf8vOt9Y96wo7u4eaEn1cLRY0LeTm7aD81Gmh8Qcjuhebd04KBRwh3tuc4nkYOxAu+ycfaX+X43Od46c+guFJkL665Ob1Mlop7buEtE/v312HMbdxnHL6y7Os9alYjae+ztt068k+nc4w03d0bX+8L/tjsW9zTVi299VO1V6rXk0NM2P2eLpLap6K+0hx/qTU4cXe8bXZcaM5nERd/S2vVQb+dN6X/mm9G4lqPvhzM7UokUaFuZev+cWZelX5Fa8bWvfW7mDP2f/vHVH2za/Q+bDZtazZl12cR2zZs7uyTQO/oyVe9D4e370ge7PJvI+1hyY0r7X6Wv9lZj32CGGU23v+faPO+6/MvJ6g+WmlGineWMYu7LdOptnlq7t/PZQPi/rAsdtfwGTB2gPU31Eo7Gxh9vfMPK2KbmdpX8ndy0H5qNzHtAyO2EJt2yTAeNMu1oz/I1PuMH69yFWN9fhv2bu3kdOnQXOjHbOGuRcVOu7bh7bcfda564c23H3cbxjbMWmdY3s6fNNE42e9pM82o99mu//9ex9AaK7e4NS0OTJyHe2wPhzetCx5Pj9eCzeuplG5ua+efoS9B/sjmcPTIzWX+wdVug9//OnBUsMGPX5t8kWxULvdAlD93rNUxs3rYiqvsiZS950fwrMht2yrSptz7yyD1PPXXPU0+tfvJJ4zZfNP+KCe0a/bX0C08P3tsD4c0/0fNvIv3Z1DfqnhVrfKmWe5oaJHw4lr3L8m9/z4o1vn3t61ILl9ivQ3o8ZzkJs42TXvj4zSjdznKG5fsyHXqbj9nvyzp7Hwq3d4ZicWOrDG/APG9z7+0B2bY59b7rD7ZuM45vDQ6kjiGhF7p833/MW6izGbpK/k5u2g9NR5oeEHI7oVm3LNtBo1w7+pq2rd+X9q9qwf7MSD14e1A37Gur+8uw302Ot6Y9R6TEh+5CN5nMralrnL0oMni0wPyNsxfPrakzjeX7Gu/IGWeW3p4v92zd4ddWhVP//nqv+o5XEiJLO6NBf/2DWruISKBX75SE4UNE5laHhEhcvPd3+77Rqm0TkUB30Ce64XPK6KcVPfi9LhFpXdWVXFVgi+rMN6ME1iTWpVqVaVJmgaZtK53s7TazThbNvzz90cl8lkXzL59ZZzKvWN41+s5tEtjiHfPSlt4bkNad/Z1eEdNN5L3/ev8qrVVERAJbVLKzem8NyBOt2jYJbFGd16RXp4lInh03r62nrynYUq/9SETEF4z2xEW0sctZJiLS9T2tK900X/DQVpXpD+M1Y1me7eZWl/z3Msv0Ns9653rv7/Z9o33db+7u+Uq37yHTN6DJ23zM++7rvb1f72pNj1dbREt3Bl8w2nOPx/xwkVl4+phQqJMvM+uHpp3T7IBg0gnNumWpOLWjRTxf7lHLQv5vaOkbOgK9evqLsGL3V/7jbd5jfmkP3ZpSSkT6+vpaWswPvu98fCjfVm6cvfimeQ1Fra+q9PVpuq5v3GjxjFm+heTdNZ+eS2w9NNf0qXUNJ2trLjN9CqZs2VkO0p7W1IZ8n59SeJtPfqU+aLCjrSiwF8b/jdmb5i1ZOP2qyNCJ48N/yoxcWHd146wFc2tm2nryvfJMGX8SS8w3cm2NfL1+qP9UTeTMlZmRjTMurJhzrrZGsWuKZNfOmuR4m09ypT1osKOtybsXLP0lk7k1dXNr6kSuz3nG9d8AuUTe7by49vzi2vPlbApcjrd5lWBHlwR/L9MV2DWwC32pSrCjS4LIdAV2DcZRzH2ZqAbs6JKwdGIWTmPXYByW78ukL1UJdnRJUGW6ArsG4+jY03FpN5mgQrGjS4Iq0xXYNRiH5fsy6UtVgh1dElSZrsCugV3oS1WCHV0So5HZ1zfPwXagAHYN7EJfqhLs6BJJRWZLS0tHh8XfqERZsWtgF/pSlWBHl07qB/NcxPJlDnBMR8eejRvvcroV1cXKD+ZVHo4GbqQf1kXEu8TrcDsuict+hlQ/rG/q25Tc4picdP3wpk19un7Y6YZUF8v3ZVYOjgYu1dHX0dHn1iLYZZGZ3NDu3dzVoKOjL/NflE0VFlscDdxIP6xnBqfbcincFJmZrezezV3xkm8F4wOUh+W/l1khOBq4VOYjjks/67gpMo2b2KWbu+IZi0sKzXLa1LfJ6SaUFUcDNzJ+vnHpZx3XRGbW9nXp5q5sWZUlhSZKhKOBS2V9uHHjZx3XRGbuxnXj5q5suWUlhSZKgaOBG+V+snHjZx13RKbplnXj5q5gpjUlhSZsx9HApUw/1rjus447IjPfZnXd5q5g+QpKCk3Yi6OBG+X7TOO6zzouiMwC29R1m7tSFagmKTTLo0ruy+Ro4FIFPtC467OOCyKz8AZ11+auVIVLSQrNMqiS+zI5GrhR4U8z7vqsM9kjc9yt6a7NXZHGrSMpNMugGu7L5GjgUuN+lHHRZx33/cZsdf6Wprto2tNKbXC6FdWlOt8X1fmqK4B7fxx4sleZuarkOxsAqFTu/eUN90WmSz+bAADczn2RWQ3f2QAAJiH3RaZ7K3oAgKu5LzIB5KrO7/ir81XDQUQmUAmq8zv+6nzVFcC9n3WITKASVOd3/NX5qiuAez/rcF8m7KdpTzvdBHe7hLtaL+19oT2tbWrZtPGujR17OrKuEnDLeI4GbuTe+zLdF5nu3daAFZf2QxCXHJlEDsrPvR3PfSdmyUsAgCPcF5l8ewEAcIT7IpP7MgEAjnBfZALIdWlX7bv3Wn/AEUQmUAku7Tt+rgyAI9z7WY3IBCrBpX3Hz5UBcIR7P6sRmUAluLTv+LkyAI5w72c190Wmeyt6AIC4+bOa+yIz+Qsg2tOacUh+ZmE84yfb+PK8KcpsEm5nxrtrfPk6q93c9+s/gFtol/aLPJP+138ubS6gArivygQAwBFEJlAq5fzevZz3ZXI9AaoWJ2aByeXSTswCKAOqTKBUynklfTnvy3TvHQLABFFlAqXC5T9AhaHKBADAEiITAABLiEwAACwhMgEAsITIBEqF+zKBCsMVs8Dkwn2ZwKRFlQmUCvdlAhWGKhMoFe7LBCoMVSYAAJYQmQAAWEJkAgBgCZEJAIAll2/atMnpNgCVSdM07xLvpczlXVK+dZVrLqACcMUsAACWTHG6AYDr9fX1Od2EyaKlpcXpJgAlRGQCNmhpudnpJjivr+/3HR0dGzdudLohQKkQmYAt4k43AEDJEZmALYhMoPIRmYAtEk43AEDJEZmALagygcpHZAK2oMoEKh+RCdiCKhOofEQmYIu8VebRT6X/lBY5MzqmcYasmKMW15ajWQBsRGQCtjCvMvUTl/Wf0kTG/MZW5IxEzsh/mKX8izidC7gJP8sO2CKeO/Qck/5TSiRhOrw7pPQT5jNaH/RgkxZ8zcrIsgxAhaPKBGyRXS8e/VR7d0grPE//Ka1xhlpcO6YG3REJD44MicjsabPua/QVXoL33m9Jq653rvRKZl1v7uySQO/Koq5IioXa67evjvZ81SPjtBmoZkQmYIvsGqv/1BWZ0Lo4MtL/yrbBWFREpkybtvrJvzVMpi2uvWiccXDklK/+SyISjv52/NLNuyog/9dO/f/1etNRp+td8mivNy7FhV+yGi52LqC6cGIWsEX2edfImdE3V/8rL372yWnv4399z1M/MOaliETOXJYzr8yvnTO/do7pYnOGFfcGpGvnm5kx+s6fS+BObyoC9wW1Zk1r1rTmoB7PTBMLrdNS4zt1ievB5vr2vRLuqNeWasF9IgmRIyF/s3GazMignlxmZuSYlgOVjcgEbJH7xd5olgzGoo13tXzuqhl5Yi93xviOyC6RxPMHXk4OOyK78n2D6H1sg6/rv4ZiF0XiIvt2dt3W/dgykbjIkZD/2/u7dyg1oKIb9rd+NzmNHrypvr2hV/UrNaCiSw7qcW/nQLT7NvFtiKp+1blc5EjI/+X25m6lBpQaiHYfbNV+rMvFZCh2tfbdq/qVesJr0nKgwhGZgC1ygzBLgT9MO2bGR2584OyFs8mvMzMGR4byFpqeW9b4Xt+++5hIQvQ9Xb6/WO1JiCREf6k9/PD6tvljpon9anPXF7ujj6fKUM/9bd5kParS52ZTM/Z2Lkv+09P2aED+daeeelG+7ge9ku+aJqDCEZmALQpVmbM9nsievs9O54u97HmnXzk1+dQdi5bdsuDGfJOlh/mr13wxvP2NmFzUd77gW7PCIwmReOxgROSFVu0WTVupaV9pD4tIXGLRsHy+yWN6sWtqFbGDEfFd5xl9at71Ptl/8GhysuameVwxi6rF5T+ALbIDo3HGhciZK5KPV3zta/2vvKz/0z9K6vKf7xsm+3OesFEisvfY2wVWkeFZ7fW1/9vu2IL3u25dE01Gmnia6sXnjfb85ZiLYGPX+qT3YCzu9WRd5jN6+Y+nqV7C0ZjE0zMefT8szevniZxIN4NLhFClqDIBW2TXjivmjKTPdqop06be+sgj9zz11D1PPbX6yScz40XUijkjpqXn7GkzjZPNnjaz0EVAnhVrfPu2r3uhy+dNnZWVhHhvD4Q3rwsdT10WFHxWl3hyyvZ1v4kl6+DYr0N6XCThaWqQ8OFYZkbZ1hocSF8r9EKX7/uPeRPpc8sFrkUCKhxVJmCL7BJwcW18xZwp/aemFphnxZzzi2vPmz51X+Md467CYF7b+q+3t74c6P2RZzS6lnZGg/76B7V2EZFAr94pCZF5bT19TcGWeu1HIiK+YLQnLqKJ99aAPNGqbZPAFtW5rFNtEe17Wpekp7nHk6pBhSoT1UxTqsBVCQDG19fX19Ji/j7ST0zPl5or5pz3LjhbynaVW1+fpuv6xo0bnW4IUCpUmYAtzEtA74JPGmdc0X+qJnLmyszIxhkXVsw5t7j2z+VqW9lwPEGFo4sDtsj7Td7i2rxnXwG4C5EJ2IJbLIDKR2QCtiAygcpHZAK24BYLoPIRmYAtqDKBykdkAragygQqH5EJ2IIqE6h8RCZgg76+eU43AUDJEZnARLW0tHR0dDjdCgAlxw/mAZWgo2PPxo13Od0KoMLxl0wA19P1w5s29en6YacbAlQ4IhNwvY6Ovsx/AZQOkQm4m64fTtaXmQcASoTIBNzNWFxSaAIlRWQCLpZVWVJoAiVFZAIulltWUmgCpUNkAm5lWlNSaAKlQ2QCbpWvoKTQBEqEyARcqUA1SaEJlAiRCbhS4VKSQhMoBSITcJ9x60gKTaAU+I1ZoBJo2tNKbXC6FUCFo8oEAMASIhMAAEuITAAALCEyAQCwhMgEAMASIhMAAEuITAAALCEyAQCwhMgEAMASIhMAAEuITAAALCEyAQCwhMgEAMASIhMAAEuITAAALCEyAQCwhMgEAMASIhMAAEuITAAALCEyAQCwhMgEAMASIhMAAEuITAAALCEyAQCwhMgEAMASIhMAAEuITAAALCEyAQCwhMgEAMASIhMAAEuITAAALCEyAQCwhMgEAMASIhMAAEuITAAALCEyAQCwhMgEKsGmTS1ONwGofJpSyuk2AADgAlOcbgBQOQ4dOnTkyBGnW1Fu1157bUNDg9OtAMqBKhOwzaFDhxYtmjN1qtPtKKPz5+Xddz8YHh5uaeHMMCofVSZgr7jTDQBQKkQmYC8lknC6DeXEJYSoIkQmYK9qi0zN6QYA5UNkAvaKc24WqFREJmCvaqsyOTGLKkJkAvZSVVZlXu50A4DyITIBeyUKVJlHP5X+U1rkzOiYxhmyYo5aXFuOlpVGVZXUqHZEJmCvRL4qUz9xWf8pTWTMndCRMxI5I/9hlvIvcmn2uLTZwKXgewjAXip9BdCYoeeY9J9S6Ro0e3h3SOknxHTGYgc92KRpyeHvdbk4saV9GPI3BfXCC+G3UFBFiEzAXiaJePRT9e7QODdj9J/Sjn6anak7Iq8+f+DF5w+8uCPyar64NQwfhvxfaJWfK/WeUu8pddfO4L7kU7HQtzX/yzGJW1iIcYjne0VjB6BacGIWsJfJidn+U1dkouXiyEj/K9sGY1ERmTJt2uon/9Ywmba49qJxxsGRU776L4lIOPpbC1cVHX0/fEf31uXpKVd0dkr6sUo3rKjbKJNtLjwXkYkqQpUJ2Mvk7GvkzOgbrf+VFz/75LT38b++56kfGPNSRCJnLsst4ObXzplfO0dErNWFe9+PZY/Ug8317Xsl3FGvLdWSdWfsF36tWdOaNa05qI+WnrHQOi01vlNPlaTp9eqdmtbsDx3JWSMnZlFFiEzAXgmzL/xGM2YwFm28q+VzV83Ify40a8b4jsgukcTzB15ODjsiu/J8rbj8se7bulpv1oL7jOO9nQPR7tvEtyGq+lXncpG4vlttVf1KDajeb3a1/jj5lacevKm+vaE3OT665KCeicy4xH7pb30+0Nvf03aNWQuBakFkAvYyvcYnd5p8xsz4yI0PnL1wdnBkyDjF4MhQvirT0/asUj8NdLVr2nIt+NbYWnC0Yd62+z3Jf3qW+OTgwVhCYr/a3PXF7ujj3tT4+9u8md9keDtY/7R0/6bTa/rSqDJRRYhMwF7jVJmzPZ7Inr7PTueLvex5p185NfnUHYuW3bLgxnyTGYabO9U+pf450PUdzf+rWOqiWWPDjoT8KzVtpaat1Op/GBYRiUssGpbPN3lylyZdrd/p8v3t1rZ5eVZHlYkqQmQC9jLJs8YZF9J1nlrxta99buYM/Z/+8dUfbNr9D5sz40VU44wL+W/kUHuPvf3WiXfSE497f8jNndH1vvC/7Y5llpBumP5Ke/ihXrVXqddUdL0vuTTPtT6JHIyZRGag95fd8l/qg28RmQBXzAL2MvmN2RVzRiJnUu+1KdOm3vrII2OnH53MNIFmT5s5OHLa8M+rzIMq9j/862Rrz30e0UQktrs3LA3rPQkRzdPUIOHDMUl4Rq99TYho+k82h+XWNZIQz4o1vs3t636zOjl77H+EYve1eZNtm9/W8+z72vc0eVZ1LjN7vUC1IDIBe5ncZLK4Nr5izpT+U1MLzLZizvnFtedNn7qv8Y6ccWY3nHi+3LN1h19bFU79++u96jveZLh6bw3IE63aNglsUZ33d/u+0aptE5FAd9AnukhcZF5bT19TsKVe+5GIiC8Y7Ymn1xIXWdoZDe6v/562Pxjtudcz5p4TqkxUEU0pPiQC9jh06NCiRcNTpw6ZPqufmJ4vNVfMOe9dcLaUTSuV8+dnvftufHh4uKWlxem2ACVHlQnYK+9fMvEu+KRxxhX9p2oiZ67MjGyccWHFnHOLa/9crubZjs/cqCJEJmCvQn8vc3Ft3rOvrkVkoooQmYC94vmqzAoV58J7VA8iE7BXtf2JaapMVBEiE7BXoROzlYjIRBUhMgF7VeGJWQ4jqBb0dcBeVJlAxSIyAXvxXSZQsYhMwE5vvHFRZJ7TrSini3V1TjcBKBciE7BNQ0PDkSNHdF13uiHl5vF4+PUfVAN+MA8AAEu4BxkAAEuITAAALCEyAQCwhMgEAMASIhMAAEuITAAALCEyAQCwhMgEAMASIhMAAEuITAAALCEyAQCwhMgEAMASIhMAAEuITAAALCEyAQCwhMgEAMASIhMAAEuITAAALCEyAQCwhMgEAMCS/x9UY0Q++MrDfQAAAABJRU5ErkJggg==" alt="" />

 

Stack类表示后进先出(LIFO)对象堆栈。

它使用五个操作来扩展类Vector,这样子可以将一个Vector视为一个堆栈。

提供了:

通常的推送和弹出操作,

以及一种方法来查看堆栈中的顶层项目,

一种方法来测试堆栈是否为空,

以及一种方法来搜索堆栈中的项目并发现它有多远是从顶部。

当第一次创建堆栈时,它不包含任何元素。

Deque接口及其实现提供了更完整和一致的LIFO堆栈操作集,应优先使用此类。例如:

Deque<Integer> stack = new ArrayDeque<Integer>();

Set下面主要是:

(1)HashSet

aaarticlea/png;base64,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" alt="" />

这个类实现了Set接口

由一个哈希表(实际上是一个HashMap实例)支持。

它对集合的迭代次序没有任何保证;

特别是,它不能保证顺序会随着时间的推移保持不变。这个类允许null元素。

HashSet应该是你在没有特殊要求下的默认选择

这个类为基本操作(添加,删除,包含和大小)提供了恒定的时间性能,假设散列函数在桶之间正确地分散元素。

迭代此集合需要的时间与HashSet实例的大小(元素数量)加上支持HashMap实例的“容量”(桶的数量)的总和成正比。

因此,如果迭代性能很重要,不要将初始容量设置得太高(或者负载因子太低)是非常重要的。

非同步的

 

(2)TreeSet

aaarticlea/png;base64,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" alt="" />

基于TreeMap的NavigableSet实现。

这些元素使用它们的自然顺序或者在创建集合时提供的比较器进行排序,具体取决于使用哪个构造函数。

这个实现保证:基本操作(添加,移除和包含)的时间复杂度为   log(n)非同步的

(3)LinkedHashSet

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdIAAAHlCAIAAADOfep0AAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA/+AAAP/gGy1pUqAAAgAElEQVR4nO3dfXQT550v8N+TNxwb82JjHF4SZK+d2+7GBGxoQkiC1BuOlNCW09A0zdk0NGdjh15uuzl7pJT2BLBDe+qu3LNkc7JLrN2ehLIhSUvvJcdsLHxbD9zylsQuiSG9wVprwGBICHbAhBhq6bl/jCWPpRlZskbz5u/nzOGIRzPPPJqX3/zmmUcy45wTAADo5TqjGwAAMLkg7AIA6AphFwBAVwi7AAC6QtgFANAVwi4AgK4QdgEAdIWwCwCgK4RdAABdIewCAOgKYRcAQFcIuwAAukLYBQDQFcIuAICuEHYBAHSFsAsAoCuEXQAAXSHsAgDoCmEXAEBXCLsAALpC2AUA0BXCLgCArhB2AQB0hbALAKArhF0AAF3dYHQDwNoOHTp07do1o1thRl/5ylduvvlmo1sBZoSwC9m6775F1+GuaawTJ/p+/etfP/744/n5+Ua3BUwHYReyFzG6AQBWgrAL2Y*bYDZRoxsA5oWwC9lD2AXIAMIuZC+CsAuQPoRdyB7HPXUSbBBQhbAL2YsgygCkD2EXshdVC7vnr3waGujpG+yLl8wtnFsxs7wkf5ZebQMwHYRdyF5UcQzZ+58cC/X3JBT2DZ7pGzyzYPptS+Ys0qVtRkH6D6owzB2yF0me3jvbGeoPxRLhxOnkRfH9Tz5QXDCjSfBVegKnsq9HNh30sUqfMKxU/mRATC5XmwBUIduF7CV2Mpy/cuHkxVOplwn198ydOrskv1he2BIK9g8NEFFR3syvVbjTW/tIz7IYqCvbtTLc+i0HsUwan0AakhGlxErUygEyhrAL2UvsZAgN9MgD8aubW4lo6sy8ywNDaxs88tlK8mfIF+wfuuAu+yoRBcN/SDtnjK+dx15nExmlZidXIo1NTr9ydDKAKnQyQPYS+xD6Bs/J317b4CHiX17mkMdcIuobPJe0LJUWFJcWFCtWqzSNzCb4qsrqDlCwoYwtZL4jRFGiIz5WxVgVY1U+QcqIewOeKp8glfsFipD4G0/iPFKd7yQtG5U1KblmxYYBKEPYhewl92wqhiGuVJ68YKQltJcouv3YG9LUEtqbsgs1ShRx+jvDzcvIvTHMO7i/mqg34Hmqq7mF804e3tjl+n5AHJaa0eTat4p3cP6Mk6JCG9/GOzjv5O3fbXL9UqCEeaTy+LJSaxVrRt8uZABhF7KXTa43ZsEn7nj48rXLUvduXP/QwLjZbqwTIBbZhdfrgo9vqC0lipJj6Rr3oV1tZ6T53c2POGOzOWtXO6TXjgVu6u4WR77l7G3/4cg8zkea3YdOiLLKVWtGtgvpQt8uZC95AFly3OEqX2ZLTAyn3jRFmm35vJpr0b+8e/YDxdnG1hB/d6RvV+wOER12sR3xmdxrRuapqpwdm78v4PlmXTA+y91rRquK9+FGiKir+zQ5R8pVakZ6CxlA2IXsJcaduYWz+gbPx//76uY2IvrzIfHd//x/axtWymYrUQlYnIgOnHlv7CrGXfvoIzVHZRm5neHWr48d1dAXm58REQlv1gUfa+f/00mMxLc8Ze2kEHZPnwhS1YbZRKelR2oqNSc373r1BsNkh04GyF7iLXbFzHmx9JYT8bUND6xteGDNM/eubXhAXl4xc55i10FR3nT5bEV501N2Moz0GDgqyyl4UpTKnfd4g43rAn2xB24vChSRDQKT9wNEiaLCS43BkddERE2Nb4kUIYqKgR1N9Ngqp2xm5ZrRyQAZQLYL2UvsZCjJL6womhfqP51imYqi+SX5hYpp7NcqlieVpZHtOu/y0jMutpO8W7l/sT/s85Q9wuqIiLztgn+0kbFM1rm62f0dF9tJRN5mn5uEeFXeNdF17L4gEdGj7fxp58iy0r8LlWpW3CYAyhjn+Mk+mLhDhw7ddRe/7jqFP6f2/ic9apG3omj+nbPLc9w0I504USAIf8If9QFFyHYhe8rPlO6cvWDu1BmhgbN9g5/GC+cWzqqYOackfzoeQ8GkhbAL2VP9vd2S/MKS/EKi25Pesf09OG4iQRXCLmQPI6gAMoCwC9lD2AXIAMIuZA9/1CcZOhlAFcIuZA/ZLkAGEHYhe/iCAEAGEHYhe8m/yQC4DoEqhF3I1v/9v4VEhUa3wmwUvj8CIEHYhawsW7bM7/dfuXLF6IaY0RdffIFvqUEyfDkYbCLUH/rowkerKlcZ3RCAcSDsgk08+daTRz8++qfaPxndEIBx4IcfwQ5C/aEdXTuOnju6+6PdRrcFYBwIu2AHP/vjz4ajw0RUv7/e6LYAjANhFyxPSnWl10h4wfwQdsHy4qmuBAkvmBzCLlibPNWVIOEFk0PYBWtLSHUlSHjBzBB2wcKSU10JEl4wM4RdsDDFVFeChBdMC2EXrEot1ZUg4QXTQtgFq0qR6kqQ8II54cvBYB9sC+MbcTyD2SHbBQDQFcIuAICuEHYBAHSFsAsAoCuEXQAAXSHsAgDoCmEXAEBXCLsAALpC2AUA0BXCLgCArhB2AQB0hbALAKArhF0AAF0h7AIA6AphFwBAVwi7AAC6QtgFANAVwi4AgK4QdgEAdIWwCwCgK4RdAABdIewCAOgKYRcAQFcIuwAAukLYBQDQFcIuAICuEHYBAHSFsAsAoCuEXQAAXSHsAgDoCmEXAEBXCLsAALpC2AUA0BXCLgCArhB2AQB0hbALAKArhF2wj/oV9UY3AWB8jHNudBsAACaRG4xuAFhDX19fd3e30a2wvJKSkr/+6782uhVgMGS7kJa+vr4ZM6bk5+M6PXHDw/TBB/917ty5hx56yOi2gJFwFkH6OFHE6DZYGjO6AWAKCLuQPoTdLOEJNhAh7EImOBG6pLKBbBeIEHYhE1GiqNFtALA8hF3ICMJuNtDJAEQIu5CJKPp2s4OwC0QIu5Ah1Wz3/JVPQwM9fYN98ZK5hXMrZpaX5M/SpWGWgIsWECHsQiZUs933PzkW6u9JKOwbPNM3eGbB9NuWzFmU+7ZZwvVGNwBMAXc9kL6I4vTe2c5Qfyj2wC1xOnlRfP+TD9SWzXQSA08yVilNnsCplDMf9LEnA+Kw7MVE1yu+7smyhpEJPeNAhLALGUqMquevnD958VTqZUL9PeevnE9YsCX09vZjr20/9lpL6G21kD12OuxjXyrbtTLMj3P+IecfbqPNPiGiPj+PNTj+IoNJDDzFPG+IFK8/4xpUJgB0MkAGFL4uERrokUeTVze3EtHUmXmXB4bWNnjks5Xkz5Av2D90wV32VSIKhv+QTqen4Ptek/dX3L80vjpH7b/6UwWyaKzB8RcZDZvlsU4VRo6HW/nDWgRNhF0gQrYLmeDJ6Vvf4Dn5HGsbPET8y8sc8phLRH2D55LzvtKC4tKCYiIaP0kUf9PYtLx5fbXKDL0BTxVj0uQXFFLU+IsjvpHZquSZshhYJ19c8FWV1R2gYEMZW8h8R0j8jYetC4gR9XX1BjxVPiH+VnxmZLugAGEX0hdV6a9MjiwKAVppwUhLaC9RdPuxN6SpJbRXpXc1HKTySodih2lvwPNQXVUz552cd4abu13slwINy1Yaf9Eb8DzV1dzCeScPb+xyfV/qrhV8d5bVlbfzDs47eXhBtxBx+jvDzcvIvTHMO7i/Wpb5plgXNbm20LYOzjvbvQfq1u0SKbkvGGEXiBB2IROKwTR9YxZ84o6HL1+73D80IJ+jf2hAJUnkKmuPkvB6XfDxdv9i6b+O2u956dd7BPkisRfC63XBxzfUlhJFybF0jfvQrrYzJP6usenu5vAPndI8jtW1Tp60xjE1KK0rSkTu5h/XOjhR1Ln+OXcwLCp/CgCEXchAmtmuWohMXHbqTVOkt5bPW7x0zh1qsxFFyHGbm0LdotLYhu4QuW9zjJbMvt1NXd2nY/3FkfgLsTtEtMPFljK2hLFv1AUplkf/lVIeLf+80dEa1NdVVTlbNj/HSAZQg7AL6VMIJXMLZ8XiLCfir27eS0R/PiS+unmvvHxu4SyVMVWciB848967Z9+PzawYdqvXuA/vajud/JajsoyCYXG05PSJYDwCctlaIo7KMnJvCPMDnB+UptbaUnLcqhLQ+diwy8dbFyVdihQ/LwDCLmRAIYetmDlPHl7XNjywtuGBNc/cu7bhAXl5xcx5il0ERXnT5bMV5U1X6WS4pXbbj6juW8zXES8UfPf4hAg57/HSTpevM/ZwbEeT+0frnfG8UvbCeY832Lgu0Bdb/EWBIuSoWeM+UrfuLVEKl+LugBAhijoqyyl4MtZRwEdrUF5Xwhg1tSFr6GQAIgwgg0xEk/O1kvzCiqJ5of7TKRarKJpfkl+omOt9rWJ5UplKSuh4qJUvDni+w2LDwLztgt8ZJVro51uJ/YA1ERGR2xdufdAx+jAtInux0B/2ecoeYXWxxSlKNLu2dV+lb0UZ+0Vs8QgRI+ddXnrGxXaSdytfHx2tQXVdUstZbENFZf8d76PBJIM/6gNp6evrmzFjID//vOK773/SoxZ5K4rm3zm7PJdNs4zh4cIPPmD4oz6AbBfSp/rXJe6cvWDu1BmhgbN9g5/GC+cWzqqYOackfzqyvJgofpYBCGEXMsFTPIsvyS8syS8kuj3pHTy+j8OdJRAh7EImFPp2IRO4AgERwi5kAn/CMkvYekCEsAuZyPRraZAAnQxAhLALmUC2myVctIAIYRcykeqRGqQB2S4QIexCJvBILUu4aAERwi6k7913vyCabXQrrK2w0OgWgAkg7EJa5s6de+bMmf/8z/80uiGWN3s2Ll2THb4cDAYYjg6/3Pny+iXrjW7ION44/saKBStumXqL0Q0BW8EvkIEB/qPrP7xt3nOXz40/q3GGo8PPCc/94uAvjG4I2A3CLuhtODr80z/+dGh4yOQR7T+6/iPUH9rWsc3klwewHIRd0JsUzojIzBFNujYQkfkvD2A5CLugq3g4I3NHtPi1gcx9eQArQtgFXcnDGZk1osmvDWTuywNYEcIu6CchnJFZI1rCtYHMenkAi0LYBf0khzMyX0RLvjaQWS8PYFEIu6ATxXBG5otoitcGMt/lAawLYRd0ohbOyEwRTe3aQOa7PIB1IeyCHlKEMzJTREtxbSAzXR7A0hB2QQ+pwxmZI6KlvjaQmS4PYGn4TQYwBtvC+EazH3uWaCRYDrJdAABdIeyCMepX1BvdBABjoJMBQBU6GSAXkO2CMRr2NxjdBABjIOyCMer31RvdBABjIOwCAOgKYRcAQFcIuwAAukLYBQDQFcIuGAPjdmHSwrhdAFUYtwu5gGwXjIFxuzBpIduddBr2NySMma1fUb/5/s36l5s/kWRbmNFNSIv5tyTIIewCWBt6QiwHnQyTDu7uAYyFsDvp4Fu5AMZC2AUA0BXCLgCArhB2AQB0hbALAKArhN1JB9/KBTAWxu0CWBvG7VoOst1JB+N2AYyFsDvpYNwugLEQdgEAdIWwCwCgK4RdAABdIewCAOgKYXfSwbhdAGNh3C6AtWHcruUg2510MG4XwFgIu5MOxu0CGAthFwBAVwi7AAC6QtgFANAVwi4AgK4QdicdjNu1GexQy8G4XQAAXd1gdAMM1tPT09vba3QrIIduvfXW8vJyQ1bd39/f1dVlyKo1V1hYWF1dbXQrbGKyZ7s9PT3z5hVPmWJ0OyA3rl6l48f/a3BwcMWKFfqvvb+/n/Oh4uIC/VetrUiE/vSn7uPHj69du9bottjBZM92iYgoYnQDwMa4LQ4wZnQDbAVhl4g4UdToNkCOmOGhMcIujIGwSwi7tmZ4vIja4ugyw9XLPhB2iShii3wEzCmKowsSIOwSsl1bM0OaZoOjy/CbBltB2CW7PPQARdcb3QB7HF0Iu1pC2KXUvW+nP6eOCyx0abSkYhrVFPP5lh8UNEmYIdNUbcP5K5+GBnr6BvviJXML51bMLC/Jn6VLw9Jnhs1oHwi7lKL37fMrf3kjnEc0Zmhz6BKFLtG68qGC/Bt1aR5kw/B4oXpRf/+TY6H+noTCvsEzfYNnFky/bcmcRblvW/qQ7WrJDD1fhuOxp2pjpp5TA18MXYudNonTF0PXek4NKC44kUn4OWOVPmFYVnjQl1hizCQGnmSsUpo8gVMpZz7oY08GxGHZi4muV3zdk2UNI5Ph3wZSPrreO9sZ6g+pHV0nL4rvf/KBJrtP8FXGdt/PBZrw9jT86mUrCLukeNxfHBw68/GVlEdb9MzHVy4ODiUs2BJ6e/ux17Yfe60l9LbaSZU8CXt+5Xbf27TniKyQq7UteRIDTzHPG+LI6THxKamewz72pbJdK8P8OOcfcv7hNtrsE1KsJd7mDBqvvvaMa1CZDJfYpPNXzp+8eCr1MqH+nvNXzmd3dJ0KeL7kolekfcf5/Xt8R1LMP95RBJpBJwMRRYkiCUVnPr4cP+CGh4Y63tzZL4aJ6Ia8vJXP/iS2VPTMx5enF06XL9g/dMFd9lUiCob/kFytMvG3jU3f2xBeQGWC4K92jtzQSQd6JL37Ox77FFneDI6pR/B9r8n7K+5fGj/rHLX/6k91BkZjyV38RUbtka3d8XArf1iLs93weKFwdIUGeuQNe3VzKxFNnZl3eWBobYNHPltJ/gz5ghkeXadPBJc3b6uOzVnj91PKpVIcRYY/mbQVZLsUO9rGTBcGrhGRdG50vPnaFxc/c/7wHx7c9Hws5o68dWEguReCSguKSwuKY/OkkeW1/Z+g916n46417lf2CAn5xTs+VsVYFWNVo2mm4JdKmO8IUVTwVZXVHaBgQxlbyHxHiHoDniqfcMTHqhjzCxQh8Tee5EooKgbWjdTD/AJFEusRf9PYtLx5fbVKs3sDnir54kkpavzFEYWPkMbaPWxdQIyor0v6mPG34jMnTGboZEhsVd/gOfkcaxs8RPzLyxzymEtEfYPnsj66DpwQFcsTd0rSUWS2zWgrCLsUu8Ind2aNTP1iuOL+FTfPmKZyZCcvGGkJ7SWKbj/2hjS1hPaq95r1tu064F21mOiWlWuWNTXuEkc64KJE1OTat4p3cN7J27/b5Pp+QBwm8bceV3dzuIPzTr7qZEAcdvo7w83LyL0xzDu4v3rsgs84KSq08W2jlfxS6uATfHeW1ZW3S+XhBd1CJLEeMRyk8kqHcpsDnofqqpo57+S8M9zc7WJStfENEn/RG/A81dXcwnknD2/skj5COmsfzbxSrIuaXFtoWwfnne3eA3Xr4pvObJ2SqY4u2VVKIUBnd3RVr29e1uRaxHxHknZf4k5J2v7JtYFmEHZJ5XCXRGXzJBh5a+jqsHzBJ+54+PK1y/1DA/JZ+4cGVPMR8fCu4OOrnFGiqGPlf3cH29rE0fzC2/5Dp9Q85yPN7kMnRKn80EgK41xd6+CxmeWfgtzNjzhjJc7a1Q7ptWOBm7q7xSiJv2tsurs5HKvcsbrWmVwPV9kyURJerws+3u5fLP3XUfs9L/16jyBfJPZCeL0u+PiG2lKiKDmWrnEf2tV2JrO1q65L+pg/lraAc/1z7mBYVGit4Wma4n6f4OKZHl2O2hc5f9nbVMdYNfO9K999iTsl9R43fjPaCsIuKeUUY/KRIocjtH/fF58pH9x5UxIfVU+9aYr01vJ5i5fOuUMlbYk9aH7pp0Ha4WJLGVvCyn4apMO72k7L8osx6UZX92lyfL21/W+bXEsZW+IJ9MrmlK+Cqipny1KbJYwtidVPRBESw0H6K6VMVlaP4zY3hbpFhTaL3SFy3+YYLZl9u5u6uk+PbTONzBn/dOwbdcG01z4Sm8ZZl+xjRlXGDBie7Y5zdI13kUtcNqOjiyhCtMjPj3D+L96mp5nndyINK+8UhaPIVJvRVhB2SfFQK555Xew05jXf/vbN06cJ//xPbz9f3/aPjbEzJELEi2dep3KYciJ+4Mx77559XzZ/8vTOnibyth/g/ODI1P5YcNeR2M0yyeY8fSIYizLO9Zwf5OENVPfN2AgznhB2R18Lb9YFH2vnB6RF3FJLHLeqhFRZPY7qNW75NWB0clSWUTAsKrZt9JPykTndG8J89AO21pamtfZYGE25Lvn2UYs+ZogXia2aWzgrdlRwIv7q5r1E9OdD4qub98rL5xbOyu7oGht8wxvcwd+3iSo7ReEokk/DRm9DW0HYJcUsY17pjfGj/4a8KXc98cSDmzY9uGnTymeflZ8Y80pvVEyBi/Kmy2crypuucrd+sIkek3oYRibnPd5g40vCSLBoanxLpAhRVAzsGJlTeHHkwZSjZo2bRu4lK8speDJ2i50weIvi/xVeagxKrx01a9xH6taNVE7i7oAQSarnltptP6K6bzFfR7w2wXePT4iQ8x4v7XT5OqVCMbCjyf2j9U75umIvnPd4g43rAn2xxV8UKJLe2vloDcrrSviYakPWDL87Vji6KmbOkx8eaxseWNvwwJpn7l3b8IC8vGLmvKyOLnG3x7NbjF2TxLb2IJVXOlR2SuL2N9tmtBUMIKPYFX6M6YU0r/T6WAqgKDKv9PrphZS8LBF9rWJ58vzJswl7dpJ3q3NMRrZwlZdcezr8TiIi75roOnZfkIjo0Xb+tJOi5Fx9u+c+5iIiIu9WLgU7511eesbFdpJ3K/ffElsdIyJyrm52f8fFdhKRt9nnJoEoQjS7tnVfpW9FGfsFEZHbF26NELGx9Swmx0OtfHHA8x0WG1DkbRf8zijRQj/fSuwHrIliiz/oGNmM8nQ1QrTQH/Z5yh5hdbHFKZrW2tdHR2tQXZfsY45muwmDnwzPdhV+k6Ekv7CiaF6o/3SKxSqK5pfkF2ZzdJHjodZtLZ6R44dGDyHlnUKJe38MwzejreCP+vTMmzc4ZcqA4rufX4lu6ylRfGtd+fmCfNwrmN3VqzOPH48Y+kd9+oqLP1V89/1PetQib0XR/DtnG/P33xRFIvl/+tN1+KM+WkG2Syl+I6ognx4tG+i4kB+6dFO8sGLatZriKwX59vhlKdszPKtQuJeS3Dl7wdypM0IDZ/sGR+Py3MJZFTPnlORPN9nRFUWHpIYQdin17+3OL7g6v+Cqnq0BTRkedinF0VWSX1iSX0h0e/qLGMRs7bE2hF2SPf0H+4kYnaapZruWgrCrJYRdsssPUYMiw7NdhF1IhLBL+KM+tmZ42CVbHF02uHKYCMIuoZPB1iJGH+T2uJeywZXDRBB2CdmurRme7drj6DJ8M9oKwi7ZJR8BRWaIFzY4umzwEUwEYZcOHx4mmm10KyBHhgsLjVz9sWOf2+PoKsDfbNXOZA+75eXlvb29giAY3RDIIYfDYci31IqKihwOxyuvvKL/qnMhLy/P6CbYxGT/cvBkIwgnicjpXGB0Q4CI6IV3Xvj7r/x99pWsXbh2Rt6M8WdVF+oPfXTho1WVq7JsDKQDX/ibXBoa9jU07DO6FUBEtPuj3d42b6g/lE0lnw19Vr+v/oV3XsiyMT/748+eE57LshJIE8LuJCIIJ+OT0W0Bqt9fPxwd/tkff5ZNJS+888JnQ59tPbL1s6HPJlxJqD+0o2vH0XNHd3+0O5vGQJoQdieReJ6LhNdwuz/affTcUSLa0bVjwgmvFHClF9kkvD/748+Go8NEVL+/fsKVQPoQdicLeZKLhNdw8QCXTcIrpbrS6wknvFKqK71GwqsPhN3JIiHDRcJroHiqK5lYwhtPdeP/nVjCG091JUh4dYCwOykkp7dIeA2UENomlvDKU13JBBJeeaorQcKrA4TdSUExt0XCa4iEVFeSacKbkOrGCzNNeBNSXQkS3lxD2LU/tcQWCa8hFINapglvcqorySjhTU51JUh4cw1h1/5SZLVIeHWmmOpK0k94FVPd+FvpJ7yKqa4ECW9OIezaXOqUFgmvzlKEs/QTXrVUV5JmwquW6kqQ8OYUwq7NjZvPIuHVTYpUV5JOwpsi1Y3PkE7CmyLVlSDhzR38JsOkw9gWzjca3QogImJbGN9olhPQVI2xN2S7ANbWsL/B6CZAZhB2Aaytfl+90U2AzCDsAgDoCmEXwDD1K+qNbsIoUzXG3vBIbdLBIzWbwaMwy0G2C2AYUz0NM1Vj7A1hF8AwmjwN06pzAI/mdIOwC9bAtjApHWvY38C2MPlk3XJNtszm+zdrUg/oBn27k45F+3bRg6mmYX+DJpEXW1g3yHYBrA2dA5aDsAsAoCuEXQAgwrhdHSHsgjUgKOQaHs3pBmEXrAFBIdcwblc3CLtgDQgKajBu13IQdsEaEBTU4D7AchB2AawN9wGWg7ALYAoT/v6bhvcBpvoKn9nKtdrIhG+pTUL4lpo52f4DWpq2ewfZLoApYITc5IGwC9Zg+6iEJ2Nmpu3hh06GSceinQy2p9Uv2oD5IdsFa7D983qMkDMzbQ8/hF2wBkQlMJC2hx/CLgCArhB2AQB0hbALAKArhF0AU7D9CDmIQ9gFa7B9VMLoMTPDuF3ICsbtmhPG7U4eyHbBGjBuFwyEcbswGSEqgYEwbhcAwMIQdgEAdIWwCwCgK4RdAFOw/Qg5iLu+vr7e6DaArhhjTucCo1uRMcaYc4HT6FbkkL0/ndVpe/hh3C6AKWDc7uShEHZ7enp6e3sNaY1t3HrrreXl5dnUgL2gj+z3lFbG/Wtd/f39XV1durVn8igsLKyurk49j7YXReWwO29e8ZQpWq1i0rl6lY4f/6/BwcEVK1ZMuBLsBR1osqe0kk7YHR6+Mnt2oW5NmgwiEXb0aHdHR0ddXV2K2bT9E5Y3qDVGqxVAFrAXIEEUR4XWDBhWoBZ2OVFU14bYilY7Ensh16w4kgdhV1sGnGIIu7nANKoHeyHXtNpTusEhoTkTZbsRXFRNAHthEklv3C7HIWEDyHZzAZ0MVmGiToa0H5TjkNBWWnc82n6ZJUXYxUV1wq7XqB7shVzTak9pIL0hSnikprm0wq62Q6rVwm40xUX1/JVPQwM9fYN98ZK5hXMrZpaX5M/SsGVWplU+kmovnP6cOi6w0KXRkoppVFPM5xdotPJJwUSZY/2++vTObZyY2krrGNB23Pup+DQAAB/eSURBVG6KsKt8UX3/k2Oh/p6Ewr7BM32DZxZMv23JnEVatczKNAy7ynvh8yt/eSOcRzRmIGHoEoUu0bryoYL8GzVqgO2ZKOymR7XBODEnKq2OprQvilmtksee54yZ3jvbGeoPxbKwxOnkRfH9Tz5QXHACkxh4krFKafIEThFFiA762JMBcVirVShNB32s0ickryKjVWs1rFp5L/ScGvhi6JraXvhi6FrPqQHNNojwc5a4QdQ2ka6T4KuMHR4/F2jCjbHcN+Ojih9EtxNzgptdfN2T6vSJnVzjzKa4YPZnqwGXXrWwq7Dzzl85f/LiqdTVhfp7zl85n7BgS+jt7cde237stZbQ22pHxtjpsI99qWzXyjA/zvmHnH+4jTb7hPhJkk4NE57UVpHpqjWhUPPFwaEzH19JuYromY+vXBwcynovRImiwp5fud33Nu05MrFNIQaeYp43xJGDe+LT2HpOBTxfctEr0rHB+f17fEeyaIPlJH4EvU7MzDa70nZWe0t+RKWYLfWC6ZSnaJuuMuhkCA30yJv46uZWIpo6M+/ywNDaBo98tpL8GfIF+4cuuMu+SkTB8B+Sq00m+L7X5P0V9y+Nr85R+6/+0Q0ayeVwS2mNyavIaNVa7UiFvXDm48vxw2V4aKjjzZ39YpiIbsjLW/nsT2JLRc98fHl64XT5gpnuBSIi8beNTd/bEF5AZYLgr3aOfHa1TaSIxz5FlrtMXs/pE8HlzduqY5+ixu+nlJ8oRRssF3YVnrLqdWJmutllHA+38ofVt3bs5BpnNsUFyTRnawZSdDIkXhP6Bs/J51jb4CHiX17mkO9aIuobPJd8MSktKC4tKCai8a884m8am5Y3r68e75rZG/BUMSZNfmEkl+kNeKp8QvytdQExnuMc8Y3MXOUTIvF1eZILiYjeUZh5dNVKVSlcbLOnsBcuDFyLtYQ63nzti4ufOX/4Dw9uej4Wc0feujCQ3AuRyV6gKFFUbPs/Qe+9Tsdda9yv7BES9oLSJhL8I3vEd4QoKviqyuoOULChjC1kviOxvSNtPb9AEZXtHxUD6+R7NqmeKNGBE6JimxN3jdKyudhTGkh73K5BJ2Ymmz1hX7eLb3riJ6PqSSe9tS4gRkYPJNnhZPqzNQMpOhkUO0GSg6DCcaC0YKQltJcouv3YG9LUEtqr0g0UDlJ5pUOtF0aqvDfgeaiuqpnzTs47w83dLvZLgYalJjW5ttC2Ds47270H6tbtEmmYqDfgeaqruYXzTh7e2OX6vtTvI7TxbbyD807e/t0ml7yGfatGy6WZ5atWqCo3vUXj7IV+MVxx/4qbZ0xTOUmy2AsUIept23XAu2ox0S0r1yxrapS2ZER1E4m/9bi6m8MdnHfyVScD4rDT3xluXkbujWHewf3VYxd8xklRpe0fEXx3ltWVt0vl4QXdQiSpnur1zcuaXIuY70hCg5N3TdKyxvfrqUn7iY1BJ2Ymmz1hX7uI4mtXOemkd2P3Jc5nYqf2MqLvtvsX5/JsHU5no2s7bjeDbDeTascs+MQdD1++drl/aEA+R//QgEqw4Cprl70lvF4XfLzdv1gqd9R+z0u/jqVj5G7+ca2DE0Wd659zB8NibP4NtaVEUXIsXeM+tKvtDFHUWbvaIVXoWOCm7m5x5NLnbf+hUyp3PtLsPnRCTFx1clW5uX6m2AtR2TzJG5+IaOjqsHzBDPdClMTDu4KPr3JGiaKOlf/dHWxrE0c/ncomOjSSDTlXS7sgaW+Su/kRZ6xEYfuLv2tsurs5HKvcsbrWqVCPo/ZFzl/2NtUxVs18746Uq+6a1EeUWaT3J8EVP0X6sjkxM93s8n09ugtUTjrFo+Xdl+oOxY80Y89WbcftZpntqh3QictOvWmK9NbyeYuXzrlDbTaiCDluc1OoW1RLwYgoInaHyH2bY7Rw9u1u6uo+Lc1QVTlb1mA+Mj/tcLGljC1h7Bt1QYpdCZcwtoSxJazsp0Ei+Srka4zXrF6VMdlukcMR2r/vi8+Uz5O8KYkDITLYCxQRXvppMP5Jy34apMO72k6n2kSOr7e2/22TayljSzyBXtmc8lXI947S9hfDQforpXud5K2xyM+PcP4v3qanmed3Ig2r7xq1LWmubDe9Pwlu3ImZ+WYfeyZSGiddfLYIUUTwPd3k/Re/M2qGszW9i2K6Mgi7cwtnxXYnJ+Kvbt5LRH8+JL66ea+8fG7hLJUdxon4gTPvvXv2/djMSrM5qte45Wd4ciURR2UZBcPiaOHpE8H4PqakwzHiqCwj94YwP8D5QWlqrS0l4c264GPtUmF4g3u0PfIa5DVz1apydTIr7IXimdfFNh2v+fa3b54+Tfjnf3r7+fq2f2yUbVVePPO6rPYCvbOnibztox+Ttz8W3HUk1s+gsomc66WNSXXfjA3r4Qlhd/S14vZ33Kpy0eUq4WCRP7zBHfx9m5hi16gtq+Ge0pNBJ2bGm53GbmeuutNjJ9fobBQhYaur6bF2/52pjhZtztZIOhs9vYtiujLoZKiYOU++F9c2PLC24YE1z9y7tuEBeXnFzHmKyVdR3nT5bEV501XuZW6p3fYjqvsW83XECwXfPT4hvnWi5LzHSztdvk7pXTGwo8n9o/XO+P1Cwu1DlJz3eION6wJ9sdpeFEhWG0WFlxqDI6+JiJoa3xIpMlIzPbbKGR2zaoWqJnLbkgaFvTCv9Mb4Nrwhb8pdTzzx4KZND27atPLZZ+Wbd17pjVntBeFg7IPHJuc93mDjS4L6JhJeHHlk4ahZ4x7ZsI7KcgqeFBN2x8iktP0dNWvcR+rWjVRO4u6AEEmsR9zt8ewWY5tdbGsPUnmlQ3XXjG1DjvaUbhQ+hU4nZmabXeVMlH2KhJNu7GwdPtdOb/v/cI6eAqoLmuZszUAGA8hK8gsriuaF+k+nqK6iaH5JfqHiBeRrFcuTylSuM46HWvnigOc7LDb8w9suxO41pH8X+vlWYj9gTURE5PaFWx90jLY5QqNDnWLzh32eskdYXaw2ipJzdbP7Oy62k4i8zT43CfFLn3dNdB27L0hE9Gg7f9pJY1edXJXC1tOEwl6YXkjzSq+n0SM7WWRe6fXTCymbvSDs2Unerc4xH2ThKi+59nT4nUSKm8i5+nbPfcxFRETerVw6+p13eekZF9tJ3q3cf0tsdYyIVLb/7NrWfZW+FWXsF0TSno0QsbH1PNS6rcUzsnZZA9R2zZhlF4/9oFrtKd1ww05MR0abXeVMVD3p4qdYlCgi+H7QRESu+6Tzm7xbud/8Z2sG1P6oz+CUKQOKC7z/SY/aDq4omn/nbFP8WSpjXb068/jxiBZ/1Ed1L3x+Jbqtp0TxrXXl5wvyTfTDWmamyZ7SSnp/1Kd39mycmFqKRAqOHr3OJH/UR+GiKrlz9oK5U2eEBs72DX4aL5xbOKti5pyS/OlpdpTYnYadDMrbsyCfHi0b6LiQH7p0U7ywYtq1muIrBfmqS0ESE3UyZPl7uzgxJyqq/+9/TuT3dkvyC0vyC4luT3rHcrdsOaJt366y+QVX5xdc1WhFk5aJwm72v7eLE3NC0to4+vzebroP+EBJRKPrJ/ZCrmm1pzSA39s1SFphV5/f28WNajZy3skAGjFRtpveTwsi7Goure2pz+/tprq9hfHo0ckAWjBR2E0bDgltpdfJoOnv7aKTIRci6hs203qwF3JKqz2lG2S7mjPgMoZsNxeQ7VqF5bJdHBKaM9HXJdCrmA307VqF5cIu4ZDQmgHbUznsHj48TDRb56bYyHBhoQa1YC/knjZ7ShPpDFH685+H/vxnHBIamzpV7zUqhN3y8vLe3l5BEPRui704HI5svvuEvaCbLPeUVsZ9YlNUVHT77bc3Nzfr055J5cYbx/mrr9qO21X4crC2hJMCETkXOHO6lixZopHm19Cwf/Pm+41uhVVpO0QpTUfPHT158eTq/7Za5/VO2AvvvPD3X/l7o1uRrZyPFW/Y19CwT8ufqswFSzTS5AThZH39PkE4aXRDrErbnxZMU8P+hvr9Bqx3Yo6eO/pM8BkpSdKZPr+3qw3hpBCfcrqibFiikebX0LAv/i9YwtFzR//3R//76Lmjuz/abXRb0iLFPkMyJH1+b1cb8Q1k5lzSEo00OemqJX8B5hfP4CyR8EoXCYrlSUY3Jys5DLvyrWPaLWWJRpqfPMlFwmsJ8SgmvTZ/wiu/zbd6hpTDsJuwacy5pSzRSJNLyHCR8FpCQmelyRNe+UWCrJ8h5SrsJm8XE24pSzTS/JLTWyS8E6DtEKXUEqIYmT7hTX6iZekMKVdhV3GjmG1LWaKRJqeY2yLhnQA9R48pPpc3bcKbfJEg3TMkbS+KOQm7alvEVLmkJRppfmqJLRLeTGk7RCkFxShGJk541baMnhmSthfFnITdFJvDPLmkJRppcimyWiS8mdJt3G6K+G7ChFftIkH6ZkhmH7ebeluYJJe0RCPNL3VKi4TXhFJEMTJlwps63umWIZl93O64G8IMuaQlGmly4+azSHhNaNyszVQJb+qLBFk3Q+K5V7+vXoe1ZIme12NT2BvR80Y3wcKMOgItcXrGGdVabfeOHn+/T/8f+ACANFnr9DTklys0p0fY1e0RLYB16TluVw6np/70CLv2uEAB5JRRWSdOz3RYYNyuFRmVawBIkHWamQXG7VqRtXq4wH6QdZqZ2cftWhRyDQDzM+qu1Ozjdi0KuQaA+dnjrlTtD7ZrCd2mkwdjWzSvk/ONmtTDtrD6FfWb79/csL8h4SprtnI9Wev0NOQvzmku53/C0irYFsY3YlOYDmNbNAy72MVWZ9RO1Ha9GLcLMKnh9NQfxu0CTGo4PdOBcbs5Ya0eLgDQE8bt5oQN+ukhNVxZYcIwbjcn0MNle7iy2gDG7doKerhsD1dWG7DHtVOXR2q4uQMTwJVVkbVOT3tcO/F7uwCTmrVOT3tcOzFudxTbwqSmNuxvYFuYfEJ5puVG7EBdmXCbZ1MOetLjW2r4dtBko+EeN+231HBUG8Koza7tl5LxSA0AYBwYtwtmZ86nNNq2ypyfEXJE264YdDKAqWnYyQA2YNQvkFnvp3BgsjHnUxptW2XOz2h71hp3oQbjdkF75hzlo22rzPkZbc8eVzuM2wUAy7DH1Q7jdgEAdIXf2wUAGAd+bxcAQFcYtwtmZ86HqBi3CxOGcbswiWDcLshh3C6AMnM+RMW4XRuwx7AojNsF7ZnzISrG7dqAPa52GLcLAJZhj6sdxu0CAOgK43YBAMaBcbsAALrCuF0wOw1Tg/r6FZpVhXG7MFEYtwsAk5Q9xu3eoFVFMEn09/d3dXUZ3QoLKCwsrK6uNroVdmOPYVF6hF3cjtnM3/xN5axZBUa3wtQiEXb0aPe///u//93f/Z3RbbEVo7JdbWHcLkxAlCiCabwJtGePYVEYtwsTY3hQM/8EoAzjdmECopjGm/AM2Va07SnFIzWYgCiyOZhUMG4XzMDwdNL8E9iHtj2lCLswAdzoblPzTwi7OWHUsChte0rRyQAToxpWTn9OHRdY6NJoScU0qinm8yfXkDOE3Zywx7AojNuFCeBqYUU4e13HBZbwQCl0iUKX6G9mcs+8yROMcB+ZExi3my4bbCYYK6p4Z916hjoucLW+zuMDXDhLWd+8nwp4Kj2BU/JCMfAk8x3MtBKfMKz4ruCrZEyafi6Q8jzoZDCKPYZFYdwuTExiVD39OT8+wFIv03GBnf48MS63hN7efuy17cdeawm9ncZzqggRxeKa/OGVarhXryS5/FTA8yUXvcL5h5x/yPn9e3xHUtQjBp5injfExMbIVwGgQJdOhn31SHjtRSGsdFy4MZ7iDQ8Ndby5s18ME9ENeXkrn/2JbDY2v2BYvmD/0AV32VeJKBj+QxrRKqrUAJ5hpJMqiRAlXCdOnwgub95WHauqxu+nlNXG15t8vbk+7caABeD3dsFwCqlf6NLosdTx5mtfXPzM+cN/eHDT8/KYS0ShS9clD7QqLSguLShWq1lpYJZ6ifgbD6tirIqxKp8Qy0MFv1TCRrNXIjod8CTNSQdOiIorPeIbW63gqyqrO0DBhjK2kCkkxfi6hK1g3C6YgWJv5sjUL4Yr7l9x84xp6vf4CQtGWkJ7iaLbj70hTS2hvSn6TIN1DzF2Z3wqqzsQr1Zo49t4B+edvP27Ta5fCjRM4m89ru7mcAfnnXzVyYA4LFXS5NpC2zo472z3UlPjLpGGiarXNy9rci1iviNjV9ob8DzV1dzCeScPb+xyfT8gDjv9neHmZeTeGOYd3F+t1FSwD4zbBcMpdqQmz6NmzIJP3PHw5WuX+4cG5HP0Dw2kyHbdzW9x/l58CjffHW+Ss3a1Q3rtWOCm7m5RSjwPjeSwztW1Dh6r5MfSa+f659zBsEhRoqij9kXOX/Y21TFWzXzvxpLl1+uCj2+oLSWKkmPpGvehXW1nYimtWp8yst2csMe4XYRdmADFr0uMBp0ihyO0f98Xn6mFzsRlp940RXpr+bzFS+fcoTabLItUK+kNeJYwtoSxJazsp0Gp3PH11va/bXItZWyJJ9AbX6Sqcras5fJPtMjPj3D+L96mp5nndyINi90hoh0utpSxJYx9oy5IsvWqtTP5OgQasMdTIl1+Cgfjdm0oMdBUTLsWy/54zbe/ffP0acI//9Pbz9e3/WNjvJyIV0y7phKnOBE/cOa9d8++H5s5/bAbm1l4sy74WDs/wPlBHt7gjpc710slVPfN2LgxeSWKUX6RP7zBHfx9mxhxVJaRe0NYqpYf5Pxga21pbL2pLw+gMXsMi8K4XZgAhRy2pngoHltvyJty1xNPPLhp04ObNq189ll52K0pHlJcvChvuny2orzpKW/eE27t460abZ7wUmNQei28OPLEzFGzxk2yShLqjJK42+PZLcYCsdjWHqTySkeUnPd4g43rAn0jNfteFChCFHVUllPwpIhOBh3ZY9yuHgPI7PHFEpCJJmdz8wsiNcU3dFyYkmKxmuKr8wuuKr71tYrlSWWKCaM8UU1oT4Scq5vd33GxnUTkbfa5SZAKb/fcx1xEROTdyp1RWSUstniUKEKOh1q3tXjYfcGRah9t5087KUq00B/2ecoeYXVERN52wS+FeOddXnrGxXaSdyv3Lx7bTnQygCr8CUvITH9/fzR6etasfsV3hbNT1SJvTfFV55zLuWyaiUQiBUePXnf06FH8UR9tGRVMtM0d8VM4MAEK2a7EOedixbQbOy7khy7dFC+smHatpvjK/IK/6NU8M4jgebWdaHu/jrALE6N6Ez2/QLUnYTJBJ4OtaJvt4oIME4Df2x13QtjNCXuM20W2CxPAMUBqPAi7OWGPh/MYtwsTo/YVMkwJw9pASxi3my57XKBAJprjO3QbTAi7OWGPcbv4vV2YAMMTSfNPGDEJqnTpZLDFBQrGMjydNP8E9qFtTykeqUHGjh//gmi20a0wu6lTjW4BaAfjdsFIRUVFFRUV//Zv/2Z0QyzgpptuGn8msAJtx+3iy8FgeUNDw6+++sHTT1cb3RDIOaN+4EXbIIavS4Dlvfxy54YNv//ssyGjGwI5Z49hURi3C9Y2NDTc2Hjgs8+GXnjhHaPbAjlnj2FRGLcL1vbyy53nzl0moq1bjyDhtT17DIvCuF2wMCnVlV4j4QWrwLhdsLB4qitBwgs5om1PKR6pgVXJU10JEl7IEW17ShF2waoSUl0JEl7IBW17ShF2wZKSU10JEl57s8fv7SLsgiUpproSJLw2Zo9hURi3C9ajlupKkPDamD2GRWHcLlhPilRXgoTXruwxLEqP32Qw6mvUMHkwtoXzjUa3AnLOqB94sd5vMtjjAgUAkxbG7QIA6ArjdgEAdIVxuwAwSWHcLgCAruzxcB7jdgHAMjBuN132uEABgOHsMSxKjz9hiXG7oAPGtuR6FfoMDWZbWP2K+s33b27Y35AQZVBuD/gTlgBp0e0bGThfTEjb3BGP1AAAxoFxuwAAusK4XQAAXWHcLoCdYcCl7WHcLoC5YNiP7WHcLoC52OMbAZCCHmEXhxFA+mw2RhWS4fd2AQDGoW1PqR7fUiMitoVJL8z2dReUW70c3yyYMJyVGZWTdvT4lhpAjuj5hS77fUsNX4czCgaQAQDoCmEXLMyWYxN1+1C23HqWgE4GgLTgjxODVpDtgoXZcmyibh/KllvPEhB2wcJsOTZRtw9ly61nCQi7AAC6QtgFANAVwi4AgK4QdgEAdIWwCxZmy5GnGLdrexi3C5AWjNsFrSDbBQuz5chTjNu1PYRdsDBbjjzFuF3bQ9gFANAVwi4AgK4QdgEAdIWwCwCgq+vr6+uNbgPABDHGnAuc+q3LuUCnFenyofTceiCHcbsAALrS6U9YAqTj8OHDV69eNboVoGrp0qX5+flGt8LyEHbBXO6/fxFjRjcClJw8+enbb7997733lpaWGt0Wa0PYBbOJGN0AgNxC2AWziRLheYM5RY1ugE0g7ILZIOyCzSHsgtlEEHbB3hB2wWw4bmbNCvtFGwi7YDYRnN5gbwi7YDZRtbB7+nPquMBCl0ZLKqZRTTGfX6BTywA0gbALZhNVHEMmnL2u4wJL6PYNXaLQJfqbmdwzDwmyDtDnrg38FA6YTSR5aj1DHRd4LBFOnI4PcOGs8oIZTYKvkvkOjikUX/ewJwPisPpSpwKeSp+QYgaVSfg5Yz8XaFiqwRM4JX9XDDyZ2JJxplTNEHyVjEmTtMYJbyLQBsIumE1iVD39OT8+MM4X1zousNOfJ8blltDb24+9tv3Yay2ht9VC9tiJYg/0EgpTLBIZbwa1icfWJdUQSaMlE2jGqYDnSy56hfMPOf+Q8/v3+I6kqEcMPMU8b4iJjZG3CjSATgYwm8ROho4LN8bP+eGhoY43d/aLYSK6IS9v5bM/kc3G5hcMyxfsH7rgLvsqEQXDf0g7WRu7dsfDrfzhlBFHeitClOk3mnlswXhkj4x9V7mzJcNmnD4RXN68rTpWVY3fTymrja9X8eMgS9MGtiOYTWKSFbo0epR2vPnaFxc/c/7wHx7c9Lw85hJR6NJ1ydlZaUFxaUGxYrUq2dzYEvE3HrYuIEaIegOeKp/QG/BUMVbFRgrHLiX4GavyBHqJokRHfEyas8onxOeUFe5JnVDT2DYkVSX4pRI2mr0S0elY8+QrPXBCVPywiS0UfFVldQco2FDGFjLlpBi0gbALZpPcpTh65veL4Yr7V9w8Y5r6vXbCgpGW0F6i6PZjb0hTS2hvyr7LhEri2V+UiJpcW2hbB+ed7d4Ddet2iTQ8mmaKv/W4tnvbO1prbyHqDXie6mpu4byThzd2ub4fEIfHFPKW27u2E/F4zcG6hxi7Mz6V1R2It0Ro49t4B+edvP27Ta5fCjRM4m89ru7mcAfnnXzVyYA4nNQ8amqUmle9vnlZk2sR8x0Z+7kUWuj0d4abl5F7Y5h3cH81+nZzB2EXzCa5YzFBiufpYxZ84o6HL1+73D80IJ+jf2ggZbab0KPKZSXkbv5xrYMTRZ3rn3MHw+LoUu/5yrZQ81t+JyeKkvB6XfDxDbWlRFFyLF3jPrSr7cyYQrqldsPjY2t+i/P34lO4+e74u87a1Q7ptWOBm7q7RalVh0ZyWOdqqUlqzXPUvsj5y96mOsaqme/dWLKs1MLEz4tsN1fQtwtmk9ynOXrCFzkcof37ihc4bp4xXWnZxIxs6k1TpMWXz6u5Fv3Lu2c/UJxtbA3yd6PywqrK2bKkmMfLm1xPk/sn4dqRd8XuENFhF9sRr8W9JiJ2h8j9Vcdotykfu7rkdFIq6Qt4vlkXjBfevYYi5Ph6a3uYuZY2Ebmb/1dr7Vz15knrWuTnR/zU4WNPs66fhFu/QUotHJvvK/btIvJqA2EXzCYxAFVMuxa6dKP0uubb3+548w3hn/+JRh6p/Ug2219U4iknogNn3hu7ijTXPia8yuKRvE+DvO2/vb3xW2W+OdxfQ0SOyjJyO8OtX3fIg5dQRsGwSBHHaA2kHnZjKxXerAs+1s7/p5MYiW95ytpH2uBcz/l6Et/ylH3TV3nA71Rrnjx6LvKHN3SV/b5NXFWr2MIxnSr4zeMcQicDmE3ivW1N8VDs5pffkDflrieeeHDTpgc3bVr57LPxciJeUzykeGtclDddPltR3vTxbqITOhlo7AvF8tLa1he9TT9gvg6iKDnv8QYb1wX6pJkF34sCRch5j5d2No4UdvhcO8fWwFVaMtok4aXGoPRaeHHkiZmjZo07ZfPE3R7P7viAMLGtPUjllQ6VFlLUUVlOwZMipd4+kC1ku2A2iZ0M8wsiNcU3dFyYkmKZmuKr8wuU/xrQ1yqWJ5WpZ7tNP2BNsdduX8+2ePaXKtslihAt9Id9XWU/YF2+cOsqf9jnKXuE1RERedsFP0WlGWKFj7a3P9rkiqpnu7G3nKub3d9xsZ1E5G32uUmQCm/33MdcRETk3cqdUdXmOR5q3dbiYffFeikebedPOxMbE28hkfMuLz3jYjvJu5X7FydtHURebeBPWIKJHD58+K67Ioz9Jfkt4exUtchbU3zVOedyjpsGdPJk0XvvdeOP+mQP2S6YjfJYJeecixXTbuy4kB+6dFO8sGLatZriK/MLFMI0gGkh7ILZqP7e7vwC1Z4E0AXujLWBsAtmg5H5YHMIu2A2CLtgcwi7YDb4oz6mhU4GbSDsgtkg2wWbQ9gFs8HIfLA5hF0wm+TfZACTwOVQGwi7YC77908jmmZ0K0DRoNENsAmEXTCRu+++++WXXz537pzRDQFVX/7yl/EttSzhy8EAALrCL5ABAOgKYRcAQFcIuwAAukLYBQDQFcIuAICuEHYBAHSFsAsAoCuEXQAAXSHsAgDoCmEXAEBXCLsAALpC2AUA0BXCLgCArhB2AQB0hbALAKArhF0AAF0h7AIA6Or/A/fge50mCbB5AAAAAElFTkSuQmCC" alt="" />

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

这个实现与HashSet的不同之处在于它保持了一个双向链表,它贯穿其所有条目。

此链接列表定义迭代排序,即元素插入到集合中的顺序(插入顺序)。

请注意,如果元素重新插入到集合中,则插入顺序不受影响。

(如果s.contains(e)在调用之前立即返回true,则调用s.add(e)时,将元素e重新插入到集合s中。)

非同步的

HashSet的性能总是比TreeSet好,特别是添加和查询元素

TreeSet存在的唯一原因就是可以维持元素的排序状态,所以,只有当需要一个排好序的Set时

才应该使用TreeSet

对于插入操作 LinkedHashSet比HashSet的代价要高

Queue的:

(1)ArrayDeque

aaarticlea/png;base64,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" alt="" />

Deque接口的可调整大小的实现。

Array deques没有容量限制;根据使用情况动态增长.

它们不是线程安全的

在没有外部同步的情况下,它们不支持多线程的并发访问。

禁止使用空元素

当用作堆栈时,该类可能比Stack快,并且在用作队列时比LinkedList快。

这个类的迭代器方法返回的迭代器是快速失败机制的,会抛异常

ConcurrentModificationException.

(2)PriorityQueue

aaarticlea/png;base64,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" alt="" />

基于优先级堆的无限优先级队列

优先级队列的元素根据其自然排序或队列构建时提供的比较器进行排序,具体取决于使用哪个构造函数

优先级队列不允许空元素。依赖于自然顺序的优先级队列也不允许插入非可比对象(这样做可能导致ClassCastException)。

非同步的

优先级队列是*的,但具有控制用于存储队列中元素的数组大小的内部容量。

它总是至少与队列大小一样大。随着元素被添加到优先级队列中,其容量会自动增加。

Map下面:

(1)HashMap

aaarticlea/png;base64,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" alt="" />

基于哈希表的Map接口实现

该实现提供了所有可选的Map操作,并允许使用空值和空键

(HashMap类与Hashtable大致相同,只是它不同步并允许空值。)

这个类不能保证顺序;而且,它不能保证顺序会随着时间的推移保持不变。

非同步的

 

(2)Hashtable

aaarticlea/png;base64,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" alt="" />

这个类实现了一个哈希表,它将键映射到值。任何非空对象都可以用作键或值。

要成功地从哈希表存储和检索对象,用作键的对象必须实现hashCode方法和equals方法。

一个Hashtable的实例有两个影响其性能的参数:初始容量和负载因子

容量是哈希表中桶的数量,初始容量就是哈希表创建时的容量。

通常,默认的加载因子(.75)在时间和空间成本之间提供了一个很好的折衷。

从Java 2平台v1.2开始,该类被改型为实现Map接口,使其成为Java集合框架的成员。

与新的集合实现不同,Hashtable是同步的

如果不需要线程安全的实现,建议使用HashMap来代替Hashtable。

如果需要线程安全的高度并行实现,则建议使用ConcurrentHashMap代替Hashtable。

(3)LinkedHashMap

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAc4AAAFOCAIAAACANGo/AAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA/+AAAP/gGy1pUqAAAgAElEQVR4nO3df3AT57kv8GdTSBwbQ8AxLj9ukXPtTM+cuBQMJWkSvGrLSKnTwyQ+ScqkBTpTKfT6JqfpSCntHMAundTnSJ2SZriXa81kEpqJExLfe5qBCcK90ZoZJ7jBlATSMzfWoAUMpElt8yvEAWvf+8dK8kralSVbq/3h72d2GPPu7vu+2td69tGrVzLHGCMAANDTTUZ3AADA/hBqAQB0h1ALAKA7hFoAAN0h1AIA6A6hFgBAdwi1AAC6Q6gFANAdQi0AgO4QagEAdIdQCwCgO4RaAADdIdQCAOgOoRYAQHcItQAAukOoBQDQHUI*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*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*EGoBYCbCuloAs8AKBCgWZLUAMBPh+2oBAHSH76sFALAbhFoAAN0h1AIA6A6hFgBAd7OM7gCAqXHcznwOs/GasPbD7RnvILU1te1Yu8Pq5VhXC2AxWH4Lk8IEAgDkUuL1p3aFUAsAuZR4/aldIdQCAOgOoRYAQHcItQAAukOoBQDQHUItAORS4vWndoV1tQDThXW1MClktQCQC9bVFgVCLQDkgnW1RYFQCwCgO4RaAADdIdQCAOgOoRYAQHcItQCQC9bVFgXW1QJMF9bVwqSQ1QJALlhXWxQItQCQC9bVFgVCLQCA7hBqAQB0h1ALAKA7hFoAAN0h1AJMV1tbk9Fd0BHW1RYF1tUCAOhultEdACi+0dHRDz74wOheQMEqKytXrlxpdC90gawWbGh0dHR8/Fp19RyjOwIFiMfp+PHo0aNHn3jiCaP7UnzIasGuJKK40X2AgnBGd0BHCLVgYwi11oJQC2A9EpFkdB+gIHZeEIVQC3bFkNWCeSDUgo0hq7UWTCAAWA/eFj3B5OkAAAdTSURBVLMchFoAS9LMaoc+o4FhLnp5oqRuLjVWsaUVpegWaLDzqxCEWrArpvXUFS7cNDDMEaWtKI9epuhl+sf5zL3Ezk94c7Pz22J2fmwws8kTCJnbwXM0MMyS6xMytw9HmXCBVE8saBP89Zz/nbRC8VU396OQOK591pmQu94v5DhAYxN+w3G/EWhcrsEdOqPcK4Z+lNmTSTbNbgj+eo5T2yW+6uYy253SZuebHLJasLHMp+7QZ9yHo5NMCA4Mc3Vz2dKKtJx3fzQ8MjZKRAvK5j9Y58qv9Yy0Wkr+q9WB+GQH5GiIFHPT2TFLM8EvtBsu133BA/0B/hvKQmH3NnLdV4xYaee5dYRasCuVt8UGhmenwsH42NjAvq4RMUZEs8rK1j3zS8Vh3NKKceWJI2PDrtpvEVE49nbeESG9A46HD7KHcwYjeVd8qqE2rojm8fS9Bb1DmLMbLd/2eUOh1pUeR3Kv+EZHcHOD78UTRXgf8kvTO93UMIEAdqUySxC9PPELP7Dvlc8vXeSf+tkD23+ljLNEFL18U9a5VFNRVVNRRURakw8Zx2eWiK+7uS0hMU50NuRu8AtnQ+4GjmvgEoXpZwkBjmtwh84SSUT9fk4+ssEvpI5UFB7I2a6yRHzdnV2VEJBLOH+/4pShZPeUjRLRmmZfX3fPUKpOsedP1Plo8ySt9Pu5Br+g+kCUm52/jwWhFmxMdTYwsY2Isbq1TbfeNlcjVmafGN8fPUQk7T35mrztjx7SnnakrEpS2aVEREHnTtozwNixiK/Pu6VbpPGJdFJ8w+3c64sMHPR8mehsyP3jE537GTvGYttOOH8SEsfTCtn+O0/sTX5eQyKisPe7HLc8tdV6+1I9EXrYHjbA2DEW+WHQ+VuBxkl8w+0c7IwNMHaMNZ8OieNZ3aNgh9y9xIPiW7eRt0tIlPTv9kot62qUj1ellUSdvc0T5T/RmLa2LYRasCutZFMpRxqVduLGux6+ev2qPF2bMjI2mjOrzUirmaKEXJ2/8DgYkcS3/qsrHBMnzjrqr91JnW8GeEYkkfCqN/yDrZ4aIokcq1tc73b3nEsrpC97tv4gveY3GTua2mKdd6f28p71DvlnxzIXDQ6Kcq/e/UiUiCTi18tdytk9uRt/6AidI5LE0AtB32aPgymvmEYr5Is8xcvl/COdrmSjyGoBLC47M03Lahc4HNHDvZ9f1AqXmefOufkWede9S1asXnSX1mGK7Ez17fXE3ob6hYpylioPOp8Iun65x5PYKw5GiV52cqs5bhXH/ZM3TIlC11ccafky0243VXI25F7Fcas4bhVX++uwXO743sHI40Hnao5b5Q6dnbR7RHGiGs/Wx8PdR0Q629N9xNe8fPJWVDpGJwaHsAIBwB4yX5DWzb0evTxb/rnx0UcH9r0m/P53lHhb7OeKw25ovJhlRNR37miOJtJ3KfdmxywuWZ4K2eSLvHFnxz/X+hexQCMROeprycXHDn7PoXyTSqilcEykuGOiBsqKaMo+x4niJOzzhjdE2H/niSPxTXdtJNEHvpWxVhLfdNc+5K/vC/Ba3eMmKufv9jmf3O3fEKStMT59l3orGXUOfRSmhq0Ls64eJhAArEflbbHGqrFkDshmld2yZuPGB7Zvf2D79nXPPJMqJ2KNVWOqqe6CsnnKwxaUzcs5gUBqr46VP6iW13gOPu8LPsn5B4gk4r/pC3dsCZ2XDxb8zwsUJ/6bPurqSBQO+J1d6TUwjZ5MdEnY3RGWfxaeT7xD5WhsceXunnJWZEVr55pgsMvV0uiYWEnGNFshIqJgx5sixYkkMfRykDY08zNrAgFZLdiVlJ0lLa2IN1bNGhi+JcdpjVVfLK34QnXXg3X3ZpVpJ2LBJ7lg8meX/9Se1NtiubJaojjR1wIx/4naJ7kT/tjB5kDM7659hPMSEfkiQoAk+YBk4WORyGNBp6Sd1SZ38es7Xd93cl1E5Ov0u0iQC+903885iYjIt4vxknb3OGXlDs8Gn9fR7KlWtKXdipywt0hbuPvDRESPRdgTvMp0gZ0nEPAHb8CGRkdHx8fPVFePqu4VLszRiraNVV/wi67q2bWZ6bife5oibwf4XEuG4/GK48dvwh+8AbAWze+r5Rddqps7e2C4PHr55lRh3dzrjVXXllbcKFX3ZpSMTFmLZOMpTYRasDHNF6RLKzRnCUAHyYVik4TauI0jkm0fGMx4KnO1YJCGAHsrj6lYO8/VItSCXSHUWg5CLYAl2fmpa0d2Hi+EWrAr/BlHy0GoBbAeyd5PXTuy88JThFqwMWS11mLn8UKoBXv661/HiBYa3QsozJw5RvdANwi1YEPz58//6le/umfPHqM7AgWbPXu20V3QBT6YCwCgO9t+DA4AwDwQagEAdIdQCwCgO4RaAADdIdQCAOgOoRYAQHcItQAAukOoBQDQHUI*EGoBAHSHUAsAoDuEWgAA3SHUAgDoDqEWAEB3CLUAALpDqAUA0B1CLQCA7hBqAQB09/8BRqOIZEQM91sAAAAASUVORK5CYII=" alt="" />

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

此实现与 HashMap 的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。

此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序)。

注意,如果在映射中重新插入 键,则插入顺序不受影响。

(如果在调用 m.put(k, v)m.containsKey(k) 返回了 true,则调用时会将键 k 重新插入到映射 m 中。)

(3)TreeMap

aaarticlea/png;base64,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" alt="" />

基于红黑树(Red-Black tree)的 NavigableMap 实现。

该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。

此实现为 containsKey、get、put 和 remove 操作提供受保证的 log(n) 时间开销。

这些算法是 Cormen、Leiserson 和 Rivest 的 Introduction to Algorithms 中的算法的改编。

此实现不是同步的

(4)WeakHashMap

aaarticlea/png;base64,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" alt="" />

以弱键 实现的基于哈希表的 Map。

在 WeakHashMap 中,当某个键不再正常使用时,将自动移除其条目。

更精确地说,对于一个给定的键,其映射的存在并不阻止垃圾回收器对该键的丢弃,这就使该键成为可终止的,被终止,然后被回收

丢弃某个键时,其条目从映射中有效地移除,因此,该类的行为与其他的 Map 实现有所不同。

null 值和 null 键都被支持。该类具有与 HashMap 类相似的性能特征,并具有相同的效能参数初始容量 和加载因子。

像大多数 collection 类一样,该类是不同步的。可以使用 Collections.synchronizedMap 方法来构造同步的 WeakHashMap。

(5)EnumMap

aaarticlea/png;base64,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" alt="" />

与枚举类型键一起使用的专用 Map 实现。

枚举映射中所有键都必须来自单个枚举类型,该枚举类型在创建映射时显式或隐式地指定。

枚举映射在内部表示为数组。此表示形式非常紧凑且高效。

(6)IdentityHashMap

aaarticlea/png;base64,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" alt="" />

此类利用哈希表实现 Map 接口,比较键(和值)时使用引用相等性代替对象相等性。

换句话说,在 IdentityHashMap 中,当且仅当 (k1==k2) 时,才认为两个键 k1k2 相等

(在正常 Map 实现(如 HashMap)中,当且仅当满足下列条件时才认为两个键 k1k2 相等:(k1==null ? k2==null : e1.equals(e2)))。

此类不是 通用 Map 实现!

此类实现 Map 接口时,它有意违反 Map 的常规协定,该协定在比较对象时强制使用 equals 方法。此类设计仅用于其中需要引用相等性语义的罕见情况

并发编程相关接口和类

基于并发编程的特性

又延伸出来下面这些接口:

java.util.concurrent包中

队列Queue中:

阻塞队列 BlockingQueue--生产者向队列添加元素但队列已满时,生产者会被阻塞;当消费者从队列移除元素但队列为空时,消费者会被阻塞

双端的阻塞队列 BlockingDeque

阻塞队列又细分出来的概念TransferQueue  

BlockingQueue更进一步:

生产者会一直阻塞直到所添加到队列的元素被某一个消费者所消费(不仅仅是添加到队列里就完事)。

新添加的transfer方法用来实现这种约束。

顾名思义,阻塞就是发生在元素从一个线程transfer到另一个线程的过程中,它有效地实现了元素在线程之间的传递

 

Map中:

ConcurrentMap 接口代表一个Map,它可以处理并发访问。

ConcurrentMap除了继承自java.util.Map的方法,还有一些自己的原子方法。

ConcurrentNavigableMap支持 NavigableMap 操作,且以递归方式支持其可导航子映射的 ConcurrentMap。

并发相关实现类   java.util.concurrent:

LinkedBlockingQueue

ArrayBlockingQueue

PriorityBlockingQueue

DelayQueue

SynchronousQueue

LinkedBlockingDeque

LinkedTransferQueue

CopyOnWriteArrayList

CopyOnWriteArraySet

ConcurrentSkipListSet

ConcurrentHashMap

ConcurrentSkipListMap

ConcurrentLinkedDeque

ConcurrentLinkedQueue

集合框架接口中使用到的一些基础支撑类

Iterable:

实现这个接口允许对象成为 "foreach" 语句的目标。

实现了这个接口就表明已经遵从"迭代定义的规则",拥有了迭代的能力.

他是一个*接口:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHkAAAA5CAIAAACdwBNyAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA/+AAAP/gGy1pUqAAAE9UlEQVR4nO2ab2gbdRjHvyeiJWvokjYpS4dNSioIZvMvOqfkIh0JbDJcLTpQg+DiBJG+SGBvRrl3hVQQRJDk1WQw/7A3o0izgrl7MevcWtw6UNbQXLc2He2WMFJGmcv9fHFJdk3u0iaNv8329+FHuT73PM89fPPcc3fJcYQQMKjwxKMuYBvBtKYH05oeTGt6MK3pwbSmB9OaHkxrejCt6cG0pgfTmh5Ma3o8abRDkiSadfyP8Hq9jQUaag3A632hsaRbGEn6UxCEoaGhBmJraQ0UGiuIoQvTmh61tVYoVbE9YH1ND9bX9GB9TY8G+3r53u1UbjaTz5QtDrPDbemxmTqaV9tWo5G+vrJ0LZWdrTBm8guZ/EJ32zOv7GJ35frUfkYvVK/Li1OpbApQdNfcXfnK0lXdwLqWGOkNxG9sPo9m/RbheiPiAz37J3G52m60Gqe+GbJ8787c3Ru1M6ays45Wu83UrjWOphLZ1RwAa4vlkNu/sdoKagFyPOQ6eyA99p4T3MYCdVFfg1FQmcTI3nzqmyGp3Kz2Azg1NAag1dKyklsNCgGtm820UxuYXb3jd70NIJH+dcPdoZQ8SWl7M3KoZVcnUQCy6eQbovYMqRwRmfwt7e6gEADIc/ucWqEBZPK3qmLRuaO9c0e7blq9VXQTIx5X6AISgovbw0UuAgpwMcJ5OM7DcZ6IqPb+zXjAExFVe1REAfLPgUofNecfVbGKpqTqzLqF/SdaV08r3WMTPXt1YGE0dR5Qvr/2o7pGU+drjkUFKPDRqXRsH/wn02SSRF8CbsYDn07HRgmZIumT077P4/IDtYwRn3SQTBIyyEMRx8l3ZJKQKZL8aMT3lYgKH9VejlWr1c3czHldX1/Xk3lN4MfPH1m5v6KO7DLZ1dy6fV06x0sfp/hDKPHhiWOdgALnq/3+ibPjC6q/PzbAl9z4Y4ed6raz24+ZGVlNgnDyy6IPPxDzT1yXNckNMzetr+u956s+WFmIdWJbn3paddvf9fJ95Z9Li1cNDqHNUN5bnNfyTAr43cedLjv5+4s+nl57yT8TD7wbSpRdXu9/mKo8lwsApmfmwRftBpmb+TRXn9YOc0cmv1z+99TQOIC/JuRLv/wdFA5o3GwGVRIAFxYu1zjE2l2V10Znrwt+Pj32ztp7kkzJnwMA8adQ4miSfMGDg3wu4EpCR+v56wl4TtiBefXaaJC5mVrXN0Pclq5SIxOABIW+oNDXP/hmUOjT2t2WLt3JYG1p07pZW9pqzpDiQHD29iAxJ6t2/o1wYvh4PFO6cn4joqC5b9Oe5gqgiN8OJ4rbADAyfE5GAVDk+OkRHD3Ia5z1Mz+6GWIzmd3WrlR2vkaM27rbZjLrdsQh9/51D7F2VwEA+NfCGPRxZxD+mkRfjKYjAdcAFwKAcFKMFlseD3uWPxzzf+DjzgAIxyJ+iOVU4X7lOPdWAgDeT5LP+GKs+nePXuZmwhm96y5Jkterv+vK0qyR3G7r7r32nqZV9/ghSZwoivR+A9tr73a07kzlFjP522Wjw9zhtuyymdqaO+MeP2or1nik4UlkM5ltJjPw7MZDGOz7a3owrenBfgOjB+trerC+pgfra3rU0lqS7NTq2A4Yau31egVBoFnKlsfwGZ3RdNi77vRgWtODaU0PpjU9mNb0YFrTg2lND6Y1PZjW9GBa04NpTQ+mNT3+BekT9xLG8D7XAAAAAElFTkSuQmCC" alt="" />

aaarticlea/png;base64,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" alt="" />

其中:

    /**
* Returns an iterator over elements of type {@code T}.
*
* @return an Iterator.
*/
Iterator<T> iterator();
 
Iterator:
public interface Iterator<E>

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIQAAABGCAIAAACCBqtPAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA/+AAAP/gGy1pUqAAAFGUlEQVR4nO2bXWhTZxjH/6/7KrGhtjYRU5knEsvGlnWiw00vkjjlZKzitk7YYKy7WMI2J3jRMO9K7oQo82LCaK7cBPdBGYxuJBTXcy7EiTrmJmysoUlnm0qr6SRFiiPn7CIfTeJpDSdH9lieH7nIec/zPO/b88uTc3oOEbqug6HBmv97AcwSLIMQLIMQLIMQLIMQLIMQLIMQLIMQLIMQLIMQLIMQLIMQLIMQLIMQLIMQLIMQLIMQLIMQj5pLU1XV2nWsGnw+n+lckzIA+HzPm85drajqr9FodHBw0Fy6eRlAoYlcxgCWQYhmZGiWrYIBwJ1BCu4MQnBnEOKBdMbcnZup+YlsPlsZcdldnvYtDltnE9OtfqzvjKuz11K5ibrBbH46m5/e3Pbkjo3838myWCzj8szVydt/L5cweTvz2CNrepzPNDEpACiRp451n0uEupqsQw0rv6bm7txawUSRVG7C1ep02NZXD46kkrnFeQAdLe29Hrmx2QvFBWTiYffwvnTiTQmi4ZUbYFWdZrCyM1LzE9WGTg8mALS2tyzML/ZHg9VhDtu66sTc4i3ZvQdAMv1Tw9cFWjlSL79v8iBaVcc8zdy11epe2fyN6t390SCgP/2SVG0CQDZ/455cbFi7fsPa9YZljV6lMCXidYfPIxl1i+dE5CKgARcjwiuEVwhvRCl2z/V40BtRiuMxBQVkvg3WxhjVuR4PlmJKWYalDBZmHmvPGYar0Y3G63I1oDCSOgdoX1z7ujjU0dLe63l5+dk1oOCP/ZLuPuQe3ptOvCZBANfjwfd/HxrRQy5kvgu6P4ynPwtJGoDjAXVMvxKDADRlVP9cvyJBQPlUBE68qh8xqtMb9g7piR0AMvFDbnFiTD/iR32pBo9Ug1jZGaZz3332jYW7C8XTRoXc4vx9OwPQAL3sW4PyVTj5ztHQBkCD9EKffGF4dLoYLw8d9JfD/KEDUvG9tFnG+HjGuM5YbFtxUwq9N4Avf1C0e0s9XJ2hN9YZaH38iWLY7q7td7V/L838tswU1RUqe0vf9ZnxFPBzQJypBMl9pRjvVmc5PhsPvh5OVkJe7Fs6T1TVkfdIS+PObhnD41Pw15WyGCtluOyd2fxcZfP04CiAPy5kLv34Z390X1WYY5k/RgdwfvryClPU7qo/gUtb3ZD96cT+2iuibDleAIDyTTj59pj+sR8Cme+D7rHyrto6yXQGhXKdqb+S8B51AjM1pazGyktbT3tXNj9b2eyP7q3aqVeHGXZ0R0tbbvGfqs11KzZ+qeGkrVuQnMxAkyDg3zUQOPxBfHsitBGAEjmF2Ef+0tRa7RHUAKGcOpbEzj5ogKivg8OByC49tg1AJn7muPxJ2q/BuJRlWNkZDpvd09GVyk2tkOPp2OSw2Q0/8r2e3fedonZXAQD8OwdwJCDOYuCkHtsWS0eC7oMiDAADY0ps6Qq4/HH2HxiS3wqIswAGhiIylNKuujr6SYjD4jgAQI6kE69I95ayGmHup8eqqvp8xolXZyeW8+Hp2NTj3GJiuocFVRWKohB67Nrj3OxqXZean8nmb1YGXfZOT/tGh61ttd/rbeZ4Ppi7tg6b3WGzA92NpzDg5xmkYBmE4MeuhODOIAR3BiG4MwhhXoaqOi1cBwPTMnw+XzQatXYpjMnbIcyDgH8sQwiWQQiWQQiWQQiWQQiWQQiWQQiWQQiWQQiWQQiWQQiWQQiWQQiWQQiWQQiWQQiWQQiWQQiWQYj/AOx+N09oW6UuAAAAAElFTkSuQmCC" alt="" />

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbUAAAB+CAIAAAAskBhJAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA/+AAAP/gGy1pUqAAATP0lEQVR4nO3df2wb53kH8OdkL7bkWP4hWbaj2DqmsSI3VgI7cIIiaXBco5KAiqGDkmVNlyYFQkKDgHXBSMBdYAyo4UUAObQbYEzgAWu6LkExTMgQRIBYteDBSRYkQVJkTGvHysKTXTm2LNmuHVu2a+v2x3s8Ho/vHXkkRb2Svx8EiHi6e+/lSX78vu+d+ZVUVX366acJAACKrSaijz76aKm7AQAgnNVE9MyvVy91NwAAhNO01B0AABAU6iMAAB/qIwAAX/1XHtc3X9y2+feb1p2ztly4suXM+bsvz2+s+7kAABZPnevjzo7Ptm085di4ad25TevOzV7a/vmZnvqeDgBg8dRzfn3PtuOlxdHS3vrFzo7Paj/L8888+j99zbW3AwDgrW71cX3zxfbWL7z32bbx1Prmi46NX+k8ev89b9x/zxtf6Tzq96QP9+2d/pudDxuG3wMXqR0AWEnqNr/etvn39pdTP/8VEa1ev/bm5Wtdzz5h3+3ydNFC5No1F/XTjxKRfNc79eoMAEDtiurjzVn91pdza+SH7Buv6x+uurNtdbvs3ZD9hgwRdT37xNTPf7V+d1frfTs8dmOuXGvz1Wnm+WcePdxDRC2vH9pBx493vjZnGG2/ONTzOBERHf2vt7/zv5JhNL/8g30B7Tg92fM4zb108NhPt3W9O7Sjy7YPr53ml3+w77l2dp65lw4ee0XiNPWKJFXRbQBYLorq460v525dOndd/9Aqkdf1D29dOkdEZetjjdjk+v573mAvr13f+H/Tj3sf8spr7/yub+/ru+f+/J+n3jfrV0/XWx91TswbW3e+O7TvH89+9MMzRESPP7nlpYNvf0eSSJK+/wD97cG335ck44Ge00/ufv7jY7x29j03e7zzX+aI6OG+va8f2k0Hj/2UnE0t4uUAAAEUrT+ukR9a1bqFlUjKF8dVrVscI8r6+u3nf/Ynq6+uXVO0Lul4WZEHu55rn0v98ioR0Zlz2myL8kAL+87UW1PWWO+ViZPvs6/PXp2i5u5t/HZeenWWvXrvlyePUlvoQSptCgBWNuf64xr5IVYW53/7a+PWH+tYHO89v3ntzdXXVt98v+Rbf7xpFrLpmb2rVt3c1patov1HtjYTtRw+9Njh/JYp64uzV4kkIiqeOBPRVX47s3O/K2y4mpslZWu+1OabAoAVj3N/xiqRvorjhStb7GuL7P7M5WNTF97/tOvZJ+5YWLX25uqZdVc6rqzzaKSz4zd+Ol/kvbPzNGvOkW2bi58EYmNDtp64dee7Q5x1z/fOztPXW75KlK/jLYF2VhZbqu4bACxH/Od71sgP3XFXj6+R45nzd9tfdj37RNezT3R++zF28/pG0y0imll3xe3wa9c3erx0897ZeWpv+Sp78fG5o+07fvJNs4o9/0zP857P63z/G+ZdGk471Hb4u+Yg85Fv7nx89tSPP66kOwCworg+3+P3hszl+Y1nLu5wez5897l2Itoz00FEf7Xh2H/8Ybdjh7J3Y/g+Pnf0yZ7Dhx47fPx452tzf3nk1LtD+6a/TsTuTUsSOSrkx1M/U/axOfjRt05N9bTx2zl4/BeHeqZ/REREs6fMMSkejgS4zUiqqv7DSWe1qhr33xdSvjK+N7/tkeYzRPRvF++v1xkBABZJnT+/5+TMvcdO7b1wZYt9o/XyhrGqvqcDAFg89f/8nsvzGx3/QoaIHtlw7A5p4est00R0w8CHqgHAMtCgZIXSBUcAAMFhKAcAwIf6CADAt5qIpn/06FJ3AwBAOBg/AgDwoT4CAPChPgIA8DXo+Z4KGRcuGVOnF2bOW1uaOjZLXXdJm1qXsFcAcHsSaPx45er8rQ8+sRdHIlqYOX/rg0+uXJ1fql4BwG1LlPr4+cnp+WvX3b47f+365yenaz6JroaluFb98VpckiRnC1q8ZFNVdDUshV4eDkthVS/bi3qcUIuXPRXA7U2I+fUfLn85fXa29U6vj4acPjvbtmnDhvV32je++dmr56/NENHmtR3fuve7i9vLvGQw3J0bj8g1NaKr4cDoQKEZXR2M9maMHyr0tTlpUO2rtX0AqJ0Q48fps5zQrkp2O39tJhR4KhR4ilXJBgjFYiFKRwfrPPDSJ0YpNaQQESlDKRqdqG/zAFANIerj3IVL7IsT06f++sg/sf9+8t//aX3h2M1u67q7t667u3S7O10NS0xhllrYZtvIptOOGXX30EjKo0Jax5gH6WrYdrz5SotLgWia0tGAuZ8+MUoDfTLbSe4bMAukrrrPtp0ncr6Nok67bfdsjXNN2AKF9Q1Mz2GFE6I+Orz47b/41v6vfTp96qnHgs99I/TpNP8zdy1vfvYqEf37Jz9m/7GXbpLBQRoxDMPIxCg5bP4B1ybYNsPIxJLBuEZEuhoOZlM5wzAMo3/SXgjkyHgmxq2QtmNyqWwwrOpsZ6vJwSilcglFSRi5VIhCqZxhGAmFSD+R7t0lWyfY1ZsuM4JMBsf6Cx1mdUpXw4Fob4ZtzqWywUKJ5m736jb/mjgvYP3H0QBCEbE+dnfu2NW5g4j+9MF9m9dvsH/r2vUb9pff2/PilzcuOSbX3nPtUGqELe0pQ6lQ+oRORERKJL/cJ3eHKDvJtlLpt01KglchtSPRdOwA21XuGwiZRU5J5FLZYFxVB6O9Ge66oj5ZHEgmd4fY/yPjBn8hMpZJKGZX8m9DOxJNFzbLkQMxSo5p7tvLdpt/TfgXEGBFErE+eli75g7HljvvMB+NfLQztH+7UrYF2zjNYptJBqJpts0c+LlNIzkVUp/MErEj7A0RkRwZSWWj0V6rStVbdlLXJ7MU6pYL28yq5ra9XLd514SI+BcQYGUSoj62Vfb4t/du70ynP/hCq+b0bISVn3+GrO1Kgm2haICzaJevkMP5sZ+8q9ecMuflx366OhjtTaWyQZfHcuRdvUWv9RNp7n5c+ok09e6S5V29VDSaK7O96OSl3Xa7JgC3EyHqY+dWM4Chu3PHvw79HfcL+24Om9d2eLz0RTuSHytpcbOYyX0DLuWBVci0VcuUfvuKnNWAFg9EezOJSOSAbR2vuGzJ3SHbkE6fzIYG+mSv+zPWyqmuDicp1q8QKf0xKrSvq8PJUGrIY3vhbfC7zbkmALcZIZ5/3LD+zs6t7d77dG5tdzz8aKn1yUdlKBUKBKUkEcVSqRCNso3dYUkKEhFRLGMo/CMTuVS2MP1UErlUOBCQouZBCSItLgWT5vFKIhOTghJljIRCSn+MgkEpSbGMkVD6BmhwQmcrfvrEaLr3gOzZ5dgADUpSOn8ehZ3dyJDE3gdRKJV/uNJte9G7cHSbf00AbjOSqqovvPDCUneDiOjK1fk1b/+G+63rj+1d19Lc4P40lK6GAycOGAmFtLg0XPvz5wBQOyHGj8y6lmZj/x7u51Os8OJI7BZOOBB6+WXp77OpXEJe6v4AgFDjRwAAoQhxfwYAQECojwAAfKiPAAB8qI8AAHyojwAAfKiPAAB8qI8AAHwCPR9OyC8EAJEINH5EfiEACEWU+tiQ/MJFUXHuoD3kwDXoAADEIcT8ehnlF9aYO8j59BwAEJUQ48dllF/ogNxBgBVMiPrYqPxCj/i9huUOAsCyIUR9dGhUfqH1qdmNyx1kpRXLjwDLgoj1sdH5hQ3MHbQFvSxWVhcA1IsQ92cq551feGPhetmIrtL4PX0yS5TO5w8QEYUG2P/Zh9ZGe93iFQBgRRNi/Li0+YVLlDsIAKIToj4ucX5hA3MHAWAZEWJ+vcT5hQ3MHUxHzbMQnoUEEJ5A+TPLMr8QuYMAK5cQ40dmWeYXIncQYOUSaPwIACAUIe7PAAAICPURAIAP9REAgA/1EQCAD/URAIAP9REAgA/1EQCAT6Dnwwn5hQAgEoHq48KnuYWpL5wbZ87TzPmmu7Y07dm1JL0CgNuWKPPrhU8mS4tj4bunzy18mmtkfxqg4uBDv43y2tPi+MRyAL+EGD8aFy4tnC4T0bUw9YXU0eaYaDc+v7BufAYfAkDjCTF+NKZOV7fbkucXVm2xgg/dox0AwC8h6qN1Q8Y7v9B+38biP7+QRRWyyaYztrB4H3Nz0QtbU45DHVNY20yXc5bKgw/dm+X0obgF23nHKrtCAGAjRH10WOT8wrF+Mx6LE1tYvE8uFUoGJcn2wgp/DUR7MyyMIZfKBqW4RqT0xyg5ppltWKFf3LP4CD50b5bTBxvbeY1cdzbpbBcAyhGxPnrkFzpUlV/IZrWusYVEFMuwcEG5byBkHSD3DYQoO6mbB2by+YNy5IBZwJShVChfybSxJDuQexZfwYfuzXL6YLGfl30fAHwSsT76Ys8v3L9dKbu/NWzTJ7NEyaA5AQ1E3aK1SgIP9ckshbptG+Vus3DKfQNmJdPGkmYUTYVn8eLSLL8Pbp0EAN+EqI9NHZtr381vfqF7bGEFBxYiuojFFrIqmq9kVh1zOYvP4EN+sy59cOkkAPgmRH2Uuu5iX3jnF1q7OVSZX+gSW1jRgVRINNTV4aQ1aWeVLD6WtKa2/LP4DD7kNuvWB1snh822tHgQ648Avgnx/KO0qbWpa7vH8+FE1NS13e1fGVb75CMntrDSA40MSUGJ1ZyiHEI5ciAmBZOxTKKwM+csss/gQ16zrn0oPW8sk4klg5W+PQBgBMqf4f77Qqapa3vTfYEG92dxIfgQQHhCjB+ZpvsCUkfb7fL5FAg+BBCeQONHAAChCHF/BgBAQKiPAAB8qI8AAHyojwAAfKiPAAB8qI8AAHyojwAAfAI9H07ILwQAkQhUH5FfCABCEWV+3bD8wnwoQeVhfvYYA39HWofzDilutp4Zho6TeDZddgc/zdvf0iK9ocYrvCkh8h/9/jbW9gOuvL0VGpApRH2sML/QuHDJsfHNz16tJFOhQFcHo5TKsXwFH+wf4ejvSE8xKx+BooFl99vFIhjND9bQ4pIUGB2wLtMIDS67N8ShxQdpxDAMw8jECp8nt8T8/DbKkfFMb+ED9sAfMepjw/ILnR8jKwg5ciBW9PHf9Wu4TJxhDXmHtghG0uLBZCxjb0mOjNfxL5KG0tWwNUJSEvn35PyEdsHYO+2AgMzqCVEfG5NfqKthKZg00w7MkQAvArA45jDj1RxnjlN2cwVjkGpTFUvPXZgNsRasPfJ/lsruUNSfsKpa0yhbBCPn43ldrpTzIvNO53xjxTO3wqsKkya9L2bxT4N1JzA6MFJSAfSJ0XTIipwsqLS37KvSzvjsoSs5Mn7gREDiLmwgILNqQtRHh0XKL5Qj40YmZk5qE4pbDCFjxRyyT5VNRwOOXxRtwpx32SdeWlyytdg9qVmtmbO0jO1DvW20eDCfnFB9qiK/S3a2bqS5Uy7eDlpcsnIQR2jU+hxyWwSj16jc+yKXnM6eutg/WXZWWEHSpPfFtMa4WlyyFghKxkfmm+Btr6a37AcUdr7hMj0sKP1tJCIiJWEYRm5gtLRKIiCzWiLWx0XNLyzwjAB0DIdsKz7mAUok/4fFmnixYVSu0GJEsQ43ByTKUCpki4XJB3cNd+fyfyirTlXkdqmYWze8dtDGksTLQXRGMLooc5G5/cl/VXg/ripJmuRezOKfrxaXgslYxiWCSIsHor0Zt5W+Knpre8OV9rBI6W9jgRwZN9ez7SUSAZlVErE++uI3v9DiHQFYbpHSNvWwQgndh1FurbH7M/bRXNWpivwuVdYNjx0qykF0X5rzfZHlyHgmxt6/77uu3KRJl4tZvK+SMMyzusxmXS5BLb0lyk7qFfewYmwcHKXSwA13CMh0JUR9XLL8Qs8IQC/sb9f83CNktljlCr6SKFTIqlMV+V2qmWsOoj2CsXjg43l4BRdZSbC3UPstfT8Xk01OU9lgaa1TEsZIX517a16H6n/cnCbVsCTl10IczSAgs0pC1Mclyy/0jgCsjHYk/7e+3DcQsq3r6aqqVdiGrUJWnarI7VLtXHMQ7RGMcmQkRdGA46ZDXPN/ka03LPcN2P7ayU/tdHXYzzqX34spR8bZEl7R4qwWlwJHdN7+PntrXUddHU5SrF+pz4/bbHLQZfGUEJBZPTHq46bWpq7t3vt45xd+b8+L1n8VxxkWZlXm0rz73922FXEprOpsyYYdOdZtDdbkyLiR6c3vOkh9SmUdIXNBKjqo6qQkcinKtzHWX/FDMvwu1c7en7H+jLXMVLgpSsTeujn6yvecrY35uMjsXXQP5yebvWz5S46MWO9skAZ8rXNVdTHlyHiFozifvY0N0KC1t7l0WE0Pnb+N5TqtT4ymywza5ciBWDKZjPVb5y/7g3P7xVhRBMqfub3yC5cnXQ0X/qgUIhihLC0uBcn1Js9inxoBmVUSYvzINN0XWLV/j2ORsalj86r9e1Acl44WL0zItCNR20OAcmSk6IkUEBB7Cqf0eU6oiECfT0FE0qZWaVOrQDUbSEmMTIYliS1ohopvi8qRcSOyRP2CiuBHVBOx6iOICH/E6kBJGMZS9wF8w1gNAIAP9REAgA/1EQCAD/URAIAP9REAgA/1EQCAD/URAIAP9REAgA/1EQCAD/URAIAP9REAgA/1EQCAD/URAIAP9REAgA/1EQCAD/URAIDv/wH2Np3Pqw0IqAAAAABJRU5ErkJggg==" alt="" />


想要有迭代的能力,

需要实现Iterable接口

实现接口最重要的就是提供一个 iterator()  方法,用于返回迭代器

为什么不直接实现Iterator?

首先,集合本身并不是迭代器,他只是有可以迭代的功能,所以是组合关系.

而且,如果继承的话,那么集合框架中:

Iterator接口的核心方法next()或者hasNext()

集合对象中就会包含当前迭代位置的数据(指针)

当集合在不同方法间被传递时,由于当前迭代位置不可预置,那么next()方法的结果会变成不可预知

RandomAccess

标记接口

/ *
* @since 1.4
*/
public interface RandomAccess {
}

aaarticlea/png;base64,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" alt="" />

用来表明其支持快速(通常是固定时间)随机访问。

主要目的是使算法能够在随机和顺序访问的list中表现的更加高效。

此接口的主要目的是允许一般的算法更改其行为,从而在将其应用到随机或连续访问列表时能提供良好的性能。

比如:

Collections下的binarySearch方法的源码:

public static <T> int binarySearch(List<? extends T> list, T key, Comparator<? super T> c) {
if (c==null)
return binarySearch((List<? extends Comparable<? super T>>) list, key); if (list instanceof RandomAccess || list.size()<BINARYSEARCH_THRESHOLD)
return Collections.indexedBinarySearch(list, key, c);
else
return Collections.iteratorBinarySearch(list, key, c);
}

从中可以清晰的看到,这个RandomAccess标记的作用

java集合框架中的所有具体类中都实现了CloneableSerializable接口

因此它们的实例都是可复制且可序列化的。

Serializable

public interface Serializable {
}