欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java集合框架应用

程序员文章站 2022-06-16 16:17:35
...

一、集合框架整体介绍

集合框架可以大致分为两大家族:CollectionMap

1Collection家族


Java集合框架应用
            
    
    博客分类: J2SE J2SE集合框架应用
  

2Map家族


Java集合框架应用
            
    
    博客分类: J2SE J2SE集合框架应用
 

 

相关博文:http://jianshi-dlw.iteye.com/blog/1179834(框架成员详细介绍)

 二、具体场景下集合的选择

1.    集合中元素已知:优先考虑采用数组。

2.    集合中元素个数未知,且需要根据索引存取数据:采用ArrayList

3.    集合中元素个数未知,且需要频繁插入和删除数据:采用LinkedList

4.    集合中元素要求不重复,且没有顺序要求:采用HashSet

5.    集合中元素要求不重复,且要求按插入顺序对集合进行遍历:采用LinkedSet

6.    集合中元素要求不重复,且需要进行排序:采用TreeSetSortedSet

7.    集合中元素存在映射关系,且无顺序要求:采用HashMap

8.    集合中元素存在映射关系,且需要按插入顺序进行遍历时:采用LinkedHashMap

9.    集合中元素存在映射关系,且需要进行排序时:采用TreeMapSortedMap

10.  集合中元素个数未知,且需在多线程环境下进行集合元素的操作:采用Vector

11.  集合中元素存在映射关系,且要求在多线程环境进行集合的操作:采用ConcurrentHashMapHashTable

 三、实际应用

1.数组 
(1)
数组复制:Arrays.copyof()方法。
(2)
数组转成列表:Arrays.asList()方法。

 2.集合(Collection家庭成员)
(1)
集合转成数组:toArray()方法。
(2)
集合与集合间的合并:addAll()方法。
(3)
判断是否包含某个元素:contains()方法。
(4)
两个集合求交集:retainAll()方法。
(5)
集合去除另一集合中包含的元素:removeAll()方法。

 3.集合(Map家庭成员)
(1)Map
的遍历:先调用entrySet()得到Set<Map.Entry<K,V>>集合,再调用iterator()进行迭代遍历;或者直接使用foreach()进行遍历。
(2)
得到映射表中所有的value值:values()方法。
(3)
判断是否包含key:containsKey()方法。
(4)
删除某个映射关系:remove()方法。

 4、扩展
(1)Set
set保证元素唯一的方法是根据equals方法进行判断,若希望set按照自定义的方式进行唯一性判断,需重写equalshashCode方法。(写法可参考《Effective Java》第二版89条)
(2)JDK
自带的集合类已经非常全面,但是有些时候还是不够满足需求,这时可自行扩展或直接使用Apachecommon-collections包。common-collections包非常强大,几乎包括了所有集合常用情况的解决方案,所以在想自己扩展集合框架的时候就直接把common-collections拿来用吧。(官网地址:http://commons.apache.org/proper/commons-collections/)

  • Java集合框架应用
            
    
    博客分类: J2SE J2SE集合框架应用
  • 大小: 45.4 KB
  • Java集合框架应用
            
    
    博客分类: J2SE J2SE集合框架应用
  • 大小: 18.3 KB