Collections-集合框架工具类
作用
本工具类主要提供集合框架的简化创建、初始化、操作等静态方法。本方法用于扩展List、Set、Map等集合框架提供的of静态方法只能快捷快捷创建只读集合的问题。
API列表
/**
* 将枚举类型转换成流对象的方法
*
* @param enumeration 需要转换成流的枚举对象
* @param <T> 泛型类型
* @return 返回转换之后的 Stream 对象
*/
public static <T> Stream<T> streamOf(Enumeration<T> enumeration) {
// to do sth.
}
/**
* 创建一个空的可修改的Map集合
*
* @return 返回一个空的可修改的Map集合
* @param <K> key的类型
* @param <V> value的类型
*/
public static <K, V> Map<K, V> mapOf() {
// to do sth.
}
/**
* 创建一个包含1个键值对的可修改的Map集合
*
* @param k1 键1的Key
* @param v1 键1的Value
* @return 返回一个包含一个键值对的可修改的Map集合
* @param <K> key的类型
* @param <V> value的类型
*/
public static <K, V> Map<K, V> mapOf(K k1, V v1) {
// to do sth.
}
/**
* 创建一个包含2个键值对的可修改的Map集合
*
* @param k1 键1的Key
* @param v1 键1的Value
* @param k2 键2的Key
* @param v2 键2的Value
* @return 返回一个包含一个键值对的可修改的Map集合
* @param <K> key的类型
* @param <V> value的类型
*/
public static <K, V> Map<K, V> mapOf(K k1, V v1, K k2, V v2) {
// to do sth.
}
上述 mapOf 方法有无限多个键值对的重载方法,可根据实际情况选择合适的方法。
/**
* 创建一个空的可修改的有序Map集合
* @param comparator 排序比较器
* @return 返回一个空的可修改的有序Map集合
* @param <K> key的类型
* @param <V> value的类型
*/
public static <K, V> Map<K, V> sortMapOf(Comparator<? super K> comparator) {
// to do sth.
}
/**
* 创建一个包含1对键值对的可修改的有序Map集合
* @param comparator 排序比较器
* @param k1 键1的Key
* @param v1 键1的Value
* @return 返回一个空的可修改的有序Map集合
* @param <K> key的类型
* @param <V> value的类型
*/
public static <K, V> Map<K, V> sortMapOf(Comparator<? super K> comparator, K k1, V v1) {
// to do sth.
}
上述 sortMapOf 方法有无限多个键值对的重载方法,可根据实际情况选择合适的方法。
/**
* 创建一个可修改的List集合
*
* @param elements 待添加的元素
* @return 返回一个可修改的List集合
* @param <E> 元素的类型
*/
public static <E> List<E> listOf(E... elements) {
// to do sth.
}
/**
* 创建一个可修改的Set集合
*
* @param elements 待添加的元素
* @return 返回一个可修改的Set集合
* @param <E> 元素的类型
*/
public static <E> Set<E> setOf(E... elements) {
// to do sth.
}
/**
* 将一个集合类型转换为一个可修改的Set集合
* @param list 待转换的元素
* @return 返回一个可修改的Set集合
* @param <E> 元素的类型
*/
public static <E> Set<E> setOf(Collection<E> list) {
// to do sth.
}
用法
静态工具类方法,直接使用即可。
演示
Collections.streamOf(request.getParameterNames()).forEach(name -> {
// to do sth.
});