首页

基于apache的collecion4通用集合类-扩展增强处理

标签:集合     发布时间:2024-09-05   
package org.springside.modules.utils.collection;@b@@b@import java.util.List;@b@@b@import org.apache.commons.collections4.keyvalue.MultiKey;@b@import org.apache.commons.collections4.list.SetUniqueList;@b@import org.apache.commons.collections4.list.TreeList;@b@import org.apache.commons.collections4.map.AbstractHashedMap;@b@import org.apache.commons.collections4.map.Flat3Map;@b@import org.apache.commons.collections4.map.MultiKeyMap;@b@@b@/**@b@ * 使用CommonCollections中的扩展类型@b@ * @b@ * 参考pom.xml, 引入apache Commons Collections4依赖@b@ * @b@ * @author calvin@b@ */@b@public class CommonCollections {@b@@b@	/**@b@	 * 联合多个Key来定位Value的HashMap.@b@	 * @b@	 * 普通HashMap,需要将多个Key拼装成一个字符串作为主键,因此MultiKeyMap尤其适合于这几个Key的类型不是String时.@b@	 * @b@	 * @param map 被包裹的底层HashMap,可先定义HashMap的初始大小和加载因子,可使用类型为LinkedMap@b@	 */@b@	public static <K, V> MultiKeyMap<K, V> multiKeyMap(final AbstractHashedMap<MultiKey<? extends K>, V> map) {@b@		return MultiKeyMap.multiKeyMap(map);@b@	}@b@@b@	/**@b@	 * 创建性能与访问速度更优的微型Map@b@	 * @b@	 * 当Map的元素个数<=3时,直接使用key1,key2,key3属性,节约空间与加快速度. 当Map的元素个数>3时,自动创建真正的HashMap@b@	 */@b@	public static <K, V> Flat3Map<K, V> flat3Map() {@b@		return new Flat3Map<K, V>();@b@	}@b@@b@	/**@b@	 * 队列内元素唯一的List, 内部集成了一个HashSet来实现.@b@	 * @b@	 * @param list 被包裹的底层List,可先定义ArrayList的初始长度等.@b@	 */@b@	public static <E> SetUniqueList<E> setUniqueList(final List<E> list) {@b@		return SetUniqueList.setUniqueList(list);@b@	}@b@@b@	/**@b@	 * ArrayList 与 LinkedList的折衷版@b@	 * @b@	 * ArrayList 随机访问快,当非末尾的插入删除慢. LinkedList的插入删除快,但非两端的操作都需要遍历链表到达指定下标.@b@	 * @b@	 * TreeList是内部结构为TreeNode的Linked List, 与Linked相仿,但能更快的到达指定下标.@b@	 */@b@	public static <E> TreeList<E> treeList() {@b@		return new TreeList<E>();@b@	}@b@}


<<热门下载>>