思维导图总结-collections

Collections  Collection

Collections是针对集合类的一个包装类,它提供一系列静态方法,以实现对各种集合的搜索、排序、线程安全化等操作,其中大多数方法都是用来处理线性表。Collections类不能实例化,如同一个工具类,服务于Collection框架。若在使用Collections的方法时,对应的Collection的对象为null,则这些方法都会抛出NullPointerException。

Collection是一个集合接口。它提供的对集合对象进行基本操作的通用接口方法。实现该接口的类主要有List和Set,该接口的设计目标是为各种具体的集合提供最大化的统一的操作方式。

HashMap  HashTable

HashMap

HashTable

是HashTable的轻量级实现

 

允许存在一条null键值的记录

不允许有null键值

非线程安全,需要提供额外的同步机制

线程安全,支持线程同步

实现Map interface

继承自Dictionary

Iterator

Enumeration

Hash默认数组大小16,扩容每次都是2的n次方

Hash数组默认大小11,扩容方式old×2+1

使用hashCode作为hash值

 

HashMap  LinkedHashTable  TreeMap

HashMap使用最多,无序,多用于 插入、删除、定位元素

LinkedHashMap 是HashMap的一个子类,输出顺序和输入顺序相同,此外,它还可以按读取顺序来排列

TreeMap 实现了SortMap接口,按键排序,用于自然顺序或自定义顺序遍历键


HashMap  WeakHashMap

HasnMap采用强引用方式,即当HashMap中的key没有被外部引用时,只有在这个key从HashMap中删除后,才可以被垃圾回收器回收

WeakHashMap 采用弱引用方式,即只要WeakHashMap中的key不在被外部引用,它就可以被垃圾回收器回收。

注:

使用自定义类作为HashMap的key时,需要注意以下几个问题

1、如果想根据对象的相关属性来自定义对象是否相等的逻辑,此时就需要重写equals()方法,而且必须重写hashCode方法。

2、当自定义类的多项作为HashMap(HashTable)的key时,最好把这个类设计为不可变类。

3、从HashMap的工作原理可以看出,如果两个对象相等,那么这两个对象有着相同的hashCode,反之则不成立。


欢迎各位讨论指教


### 回答1: commons-collections是Apache Commons项目中的一个子项目,提供了一组扩展和增强了Java集合框架的工具类。commons-collections 4.1 是该项目的一个版本。 commons-collections 4.1jar是一个Java归档文件(jar),其中包含了commons-collections 4.1版本的源代码和编译后的类文件。通过将该jar文件添加到Java项目的类路径中,开发人员可以使用commons-collections提供的丰富功能来简化集合操作的编写。 该jar文件可以通过将其下载到本地计算机,然后在项目中导入jar包来使用。导入后,开发人员可以使用 commons-collections提供的各种集合类和算法,如List、Set、Map、Queue、Bag等,来处理和操作集合数据。通常,通过导入commons-collections jar包后,开发人员可以直接使用其提供的类,而不需要自己编写复杂的集合操作代码。 commons-collections的jar文件具有良好的移植性,可以在不同的Java平台上使用,例如Java SE、Java EE等。它还具有广泛的应用范围,可用于各种Java项目,包括Web应用程序、桌面应用程序、企业应用程序等。 总结来说,commons-collections 4.1jar是一个包含了commons-collections 4.1版本源代码和编译后的类文件的Java归档文件,它为开发人员提供了丰富的集合操作工具类,可以简化和加速Java项目中的集合操作。 ### 回答2: commons-collections4.1.jar 是一个开放源代码的 Java 类库,它提供了一组实用的集合类和算法,以增强 Java 标准库中集合类的功能。 commons-collections4.1.jar 包含了各种实现了 List、Set、Queue、Map 等接口的集合类,比如 ArrayList、LinkedList、HashSet、TreeSet、HashMap 等。这些集合类提供了更多的功能与选项,满足了不同场景下的需求。 此外,commons-collections4.1.jar 还提供了一些扩展的数据结构,如 MultiHashMap、MultiValueMap 等。这些数据结构允许一个键对应多个值,提供了更灵活的数据存储方式。 commons-collections4.1.jar 还包含了一些实用的算法,如排序、查找、遍历等。通过这些算法,我们可以更方便地对集合进行操作和处理。 commons-collections4.1.jar 提供了一些实用的工具类,如 Predicate、Transformer、Comparator 等。这些工具类可以帮助我们更方便地进行集合操作,比如筛选、映射、比较等。 总之,commons-collections4.1.jar 是一个非常实用的 Java 类库,提供了丰富的集合类、算法和工具,能够大大提高开发效率,简化代码编写。无论是在开发大型应用程序还是小型项目中,都可以通过引入 commons-collections4.1.jar 来充分利用其提供的功能和特性。 ### 回答3: commons-collections4.1.jar是Apache Commons项目的一部分,是一个Java集合框架库。该库提供了一组扩展和增强了Java集合框架的类和接口。 commons-collections4.1.jar包含了一些实用的类和接口,可以用于处理各种不同类型的集合。它提供了许多方便的方法和工具类,可以简化集合操作的开发过程。 该库包含的一些主要功能有: 1. 扩展集合类:commons-collections4.1.jar提供了一些扩展了Java集合类的类,例如改进了性能和功能的List、Set、Map等。 2. 集合工具类:该库还提供了一些实用的集合工具类,例如CollectionUtils和ListUtils等,可以方便地对集合进行操作和处理。 3. 各种集合实现:commons-collections4.1.jar还提供了一些特殊的集合实现,例如CircularFifoQueue、ListOrderedMap等,可以满足不同场景下的需求。 4. 强大的迭代器包装器:该库还提供了一些强大的迭代器包装器,例如TransformedIterator和FilterIterator等,可以对集合的元素进行处理和过滤。 通过使用commons-collections4.1.jar,开发者可以更高效地处理和操作集合,减少开发时间和工作量。这个库已经在许多Java项目中得到了广泛使用,并且由于其丰富的功能和高效的性能而受到开发者的青睐。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值