深入了解java集合框架中的常用集合

深入了解java集合框架中的常用集合

    学过java的人都知道,它是一个很重要的知识点,在面试中经常出现。那么怎样才能深入了解集合呢!我想,首先我们需要知道什么是集合?所谓集合就是具有某种特定性质事物的总体。这里的事物可以指大到宇宙,小到细菌;可以表示实实在在的东西,也可以表示抽象的东西。那么什么是集合框架呢?集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。下面就让我来揭开java中集合框架的玄机!

    在java中的集合框架主要分为两部分:Collection接口和Map接口。这两个接口只是他们的父接口,在他们下面还有许多接口和实现类。详细框架结构如下图所示:

 

     但在里我想说的是,集合框架中并不是每一个部分都常用,所以,我觉得我们只要掌握几个常用的就能够很好地应用集合框架了。集合框架中的核心接口是:List接口、Set接口和Map接口。List接口和Set接口都是继承了Collection接口的,而Map接口是单独存在的。

     我们学了知识是拿来应用的,那么对于初学者来说怎样才能很好地应用集合框架呢!给我感受最深的,也是最重要的,那就是要知道集合框架中各个接口和实现类的特征和他们的方法。如果知道了他们的特征和方法,那我我们在应用中就能得心应手了。好,下面就让我们一起学习集合框架中几个常用的接口和实现类的特征:

     List:List是一个接口,它继承于Collection接口。它定义了一个允许有重复项的有序集合。那么,它的特征就是:允许有重复项,有序。

     Set:Set是一个接口,它也是继承于Collection接口。它不允许集合中存在重复项,每个具体的 Set 实现类依赖添加的对象的 equals()方法来检查独一性。

     Map:Map也是一个接口,Map接口不是Collection接口的继承。Map接口用于维护键/值对(key/value)。它描述了从不重复的键到值的映射。

看了几个重要的接口后,我们来看几个重要的实现类:

     ArrayList :ArrayList是一个类,他实现了List接口,它封装了一个动态再分配的Object[]数组。它的特点是:有序,可以重复的数组。

     ArrayList类中最常用的方法有:add(),get(),remove(),size()等方法。

     例如:

     List<User> list = new ArrayList<User>();//实例化一个对象

     list.add(user);//在list中添加元素

     LinkedList:LinkedList也是一个类,它实现了List接口,它是一个双向链表结构的集合。

     LinkedList类中最常用的方法有:add(),get(),remove(),size(),clear()等方法。这些方法在javaAPI中都有详细说明。

     以上两个类都实现了List接口,我们下面把他两做个比较与总结:ArrayList的特点是有序可以重复的,而LinkedList是一个双向链表接口的。那么对他们进行操作时,应用的地方还是有讲究的:例如:你要对这个集合经常进行查找操作,那么你最好用ArrayList;如果是经常增加,删除操作,那么最好用LinkedList来存放。这些都是根据他的一个特点来选择应用的。

     HashMap:HashMap是一个类,它实现了Map这个接口。中文也叫散列表。它的特点就是:键值对的映射关系。一个Key对应一个Value。例如:我们在做一个简单的ATM实现的时候,一个卡号对应一个用户,每一张卡的卡号是唯一的,而一个用户可以有几张卡。这种情况,我们就可以用HashMap来存放数据了。

   HashMap中常用的方法有:put(),get(),clear(),containsKey()等方法
例如:
HashMap map = new HashMap();//实例化一个HashMap对象
map.put();//在map集合中添加元素
   上面图片中有些类和接口没有详细的写出,这是因为我们在开发过程中的用得比较少。如感兴趣,可以继续探究。
   总之,在学习集合框架过程中,我们需要注意的就是要知道每一个接口和实现类的特征和一些常用的方法。这样再通过做一些案例,就可以牢牢地掌握了!

 

 

posted @ 2012-07-03 13:55  源&缘  阅读(2288)  评论(2编辑  收藏  举报