java中的集合类实在是太丰富了,有常用的ArrayList、hashMap,也有不常用的Stack,Queue,有线程安全的Vector、HashTable,也有线程不安全的LinkedList,TreeMap,有阻塞式的ArrayBlockingQueue,也有非阻塞样式的PriorityQueue等,整个集合家族非常庞大,可以划分为一下几类。
(1)List
实现List 接口的集合主要有:ArraList、LinkedList、Vector、Stack,其中ArrayList是一个动态数组,LinkedList是一个双向链表,Vector是一个线程安全 动态数组,Stack是一个对象栈,遵循先进后出的原则。
(2)Set
Set 是不包含重复元素的集合,主要的实现类是:EnumSet、HashSet、TreeSet,其中EnumSet是枚举类型专用Set,所有元素都是枚举类型;HashSet额是以哈希吗决定其元素位置的Set,其原理与HashMap相似,它提供快速插入和查找方法;TreeSet是一个自动排序的Set,它实现SortedSet接口。
(3)Map
Map是一个大家族,分为排序Map和非排序Map,排序Map主要是TreeMap类,它根据Key值进行自动排序;非排序Map主要包括:hashMap,hashTable、Properties、EnumMap等,其中Properties是HashTable的子类,它的用途主要是从Property文件中加载数据,并提供方便的读写操作;EnumMap要求Key必须是一个枚举类型。
(4)Queue
分为阻塞式和非阻塞式,最常用的的是PriorityQueue类;
(5)数组
数组能够容纳基本类型,集合不能,集合低层是数组实现。
(6)工具类
数组的工具类是java.util.Arrays和java.lang.refect.Array,集合工具类是Java.util.Collections
(7)扩展类
扩展Apache的commons-collections扩展包,可也以是google-collections扩展包。
相关推荐
6. **选择公理**:《选择公理.pdf》是集合论中的一个有争议的假设,它断言对于任何非空集合的家族,总存在一个选择函数,该函数为每个集合选取一个元素。选择公理导致了一些有趣的数学结果,但也引出了悖论和哲学...
SQL Server 2005是SQL Server家族的一个重要升级,它带来了更多增强功能和优化。其中,最重要的改变之一是引入了集成的服务(Integration Services,SSIS),这是一个用于数据集成和转换的强大工具。此外,它还增加...
这个"Linux C实例集合"涵盖了以上所有或大部分概念,每个实例都是一次实践,通过分析和运行这些代码,你可以深入理解Linux环境下的C编程。例如,`sl`可能包含一个简单的shell-like命令行程序,展示了如何读取用户...
六、集合的排序 1. 对于List,可以使用Collections.sort()方法进行排序,但仅限于元素是可比较类型(如实现了Comparable接口的类)或者传入自定义的Comparator。 2. 实现Comparable接口,重写compareTo()方法,用于...
- Java集合框架主要由两大核心接口组成:Collection和Map。Collection家族包括各种单一对象存储的实现,如List和Set。List接口保证元素的顺序,允许重复元素;Set接口则不允许元素重复,且无特定顺序。Map接口则...
"存储模拟器大集合"涵盖了多个顶级存储设备厂商,如NetApp、DELL、IBM、HP和EMC,这些都是全球知名的数据存储和管理公司。这些模拟器为用户提供了一种经济高效的方式来熟悉各种存储系统的特点和功能,对于系统管理员...
5. **SHA家族**:包括SHA-1、SHA-256、SHA-384、SHA-512等,它们是更安全的散列函数。SHA-256和SHA-512被广泛应用于数字签名和加密算法中,提供更高的数据完整性和安全性。 6. **开发工具**:这些校验计算工具通常...
C语言的函数集合是编程中不可或缺的部分,它们提供了丰富的功能,可以帮助开发者完成各种任务。以下是一些常见的C语言函数的详细说明: 1. `abort` 函数:此函数用于异常终止进程,通常在遇到无法恢复的错误时使用...
常见的方法包括基于传统图像处理的算法,如边缘检测、阈值分割,以及近年来流行的深度学习方法,如卷积神经网络(CNN)、区域卷积神经网络(R-CNN)家族、单阶段检测器(YOLO)、以及最新的检测框架如DETR等。...
这些源码集合对于学习和实践加密技术非常宝贵,可以深入理解每个算法的内部工作原理,同时也可以作为开发安全应用程序的基础。然而,需要注意的是,直接使用这些源码可能涉及到版权和合规问题,应在适当授权或了解...
- 字节流和字符流的区别,了解InputStream、OutputStream、Reader、Writer家族。 - 文件操作,缓冲流,转换流,对象序列化与反序列化。 - NIO(New Input/Output)的使用。 9. **反射** - 类加载器,Class类的...
同时,可以定义字体家族、大小、样式(粗体、斜体)和行高,以优化文本可读性。 5. **定位与浮动**:`position` 属性(static、relative、absolute、fixed)用于控制元素的位置,而`float` 属性(left、right、none...
它们包括B树、B-树、B+树和B*树,都是为了高效地处理大规模数据而设计的。这些数据结构在存储和检索大量数据时能保持优秀的性能,尤其是对于磁盘等慢速存储介质。 **1. B树** B树是一种自平衡的二叉搜索树,它的...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但也使用了类似于C家族语言,包括C、C++、C#、Java、JavaScript、Perl、Python等。JSON易于人阅读和编写,同时也...
在"Android新手UI集合(全)"中,你可能找到了各种尺寸和类型的png图标,这将极大地节省你设计图标的时间。 除了图标,Android UI设计还涉及到布局管理。Android提供了多种布局容器,如LinearLayout(线性布局)、...
FAT32是FAT(文件分配表)家族的一员,相对于早期的FAT16,它提供了更大的单个文件大小支持和更高的磁盘利用率。在FAT32中,目录和文件的信息被存储在FAT表中,通过簇号和链接来定位数据。FAT32的详细介绍可能涵盖了...
### Java开源框架下载集合 在Java开发领域,开源框架的应用极大地提升了软件开发的效率与质量。本文将基于提供的部分开源框架资源,详细阐述这些框架的特点、功能及其在实际项目中的应用价值。 #### 1. Play ...
4. MapReduce:用于大数据分析,通过映射和规约操作对集合数据进行聚合处理。 5. 自动分片:根据预设规则自动将数据分配到不同的分片上,简化了大数据管理。 6. CRUD操作:创建(Create)、读取(Read)、更新...
802.11家族包括多个子标准,每个子标准都有其特定的功能和特性,为无线通信提供了多样化的选择。 802.11b是最早被广泛采用的标准,于1999年发布,最大数据传输速率为11Mbps,使用2.4GHz频段。802.11a随后推出,它在...
家族企业文化是指在家族控制和管理下的企业中形成的文化特质,它是企业价值观、行为规范、管理风格和企业精神的集合体。家族企业在全球范围内占据重要地位,尤其在中国,私营企业中超过90%属于家族企业,对GDP贡献率...