1700452850
//把一个List包装成一个lazy类型
1700452851
1700452852
List<String>lazy=LazyList.decorate(new ArrayList(),
1700452853
1700452854
new Factory(){
1700452855
1700452856
public String create(){
1700452857
1700452858
return”A”;
1700452859
1700452860
}
1700452861
1700452862
});
1700452863
1700452864
//访问了第4个元素,此时0、1、2元素为null
1700452865
1700452866
String obj=lazy.get(3);
1700452867
1700452868
//追加一个元素
1700452869
1700452870
lazy.add(“第五个元素”);
1700452871
1700452872
//元素总数为5个
1700452873
1700452874
lazy.size();
1700452875
1700452876
双向Map
1700452877
1700452878
JDK中的Map要求键必须唯一,而双向Map(Bidirectory Map)则要求键、值都必须唯一,也就是键值是一一对应的,此类Map的好处就是既可以根据键进行操作,也可以反向根据值进行操作,比如删除、查询等,示例代码如下:
1700452879
1700452880
//key、value都不允许重复的Map
1700452881
1700452882
BidiMap bidiMap=new TreeBidiMap();
1700452883
1700452884
bidiMap.put(1,“壹”);
1700452885
1700452886
//根据key获取value
1700452887
1700452888
bidiMap.get(1);
1700452889
1700452890
//根据value获取key
1700452891
1700452892
bidiMap.getKey(“壹”);
1700452893
1700452894
//根据value删除键值对
1700452895
1700452896
bidiMap.removeValue(“壹”);
1700452897
1700452898
Apache commons项目还有很多非常好用的工具,如DBCP、net、Math等,但是这些包有个缺点,大部分更新比较缓慢,有些扩展类甚至可以说比较陈旧了,例如Collections中的大部分集合类不支持泛型,这让一些“泛型控”们很不舒服,总想自己再封装一下,提供一些泛型支持,这就需要读者在项目开发中自行考虑了。
1700452899
[
上一页 ]
[ :1.70045285e+09 ]
[
下一页 ]