A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 浅一蓝 中级黑马   /  2014-2-23 22:11  /  1341 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求解答啊

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

5 个回复

倒序浏览
集合框架分为两大派系
      |--单列集合 Coloection 接口
              |--List 接口 有序的,可重复,可根据角标操作元素
                     |--ArrayList  底层数据结构是数组,查询速度快,增删稍慢,线程不同步的,
                         |--LinkedList 底层数据结构是链表,增删速度快,查询稍慢,线程不同步的
                         |--Vector 底层数据结构是数组,增删查都稍慢,线程同步的,jdk1.0出现的,那时候还没有集合框架,后来被ArrayList取代
                  |--Set 接口  无序的,不可重复,因为底层是一个Map集合,只使用了Map的key,要保证键的唯一性
                     |--HashSet 底层数据结构是哈希表,线程不同步的,无序,高效,必须保证元素的唯一性,是通过调用hashCode和equals方法来判断元素是否相同的
                         |--TreeSet 底层数据结构是二叉树,线程不同步的,特点就是可以对集合中的元素进行排序,前提是要指定排序规则,有两种方式
                                    1,让元素自身具备比较性,如果元素自身不具备比较性,可以让元素实现Comparable接口,并覆盖compareTo方法来指定比较规则
                                                2,如果元素具备的比较性并不是我们所需要的,可以自己定义一个比较器,实现Comparator接口,并覆盖compare方法来指定比较规则,通过构造函数传递给集合即可
                         |--要迭代以上集合都是通过迭代器来完成的,通过调用iterator方法来返回一个迭代器Iterator(接口);通过这个迭代器来迭代元素
          |--双列集合 Map
                 |--Hashtable 底层是哈希表结构,线程同步的,不可以存储null键null值,jdk1.0出现,后来被HashMap所替代,
                         |--HashMap   底层的数据结构是哈希表,线程不同步的,可以存储null键null值,
                         |--TreeMap   底层是二叉树数据结构,线程不同步,特点是可以对键进行排序,排序方式同TreeSet相同,
            |-- Map 集合和Collection的不同点是,Map集合一次是存一对元素,键值对形式(键和值存在着眏射关系),而Collection一次只存一个元素
                |-- Map 集合自身并没有迭代方法,但是可以通过keySet和entrySet方法来讲Map集合转换成Set集合在进行迭代,
                            keySet返回的是集合中所有的键,在通过Map集合中的get(key)来获取对应的值,而entrySet方法返回的是Map.Entry这种数据类型,里面保存的是所有键值对的映射关系

list和set是实现了Collection接口的,而map不是的,他和collection属平级的

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报 1 0
Java的集合类主要有两个接口类派生,Collection和Map是JAVA集合框架的根接口。这两个接口又包含一些子接口或实现类。
Collection体系中分为有续集和List和无序集合Set,Queue提供队列实现类似于List,
Map体系用于保存具有映射关系的的数据。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
List和Set是Collection子接口,他们只能存放单值的接口。而且Map接口是存放一对值的接口也就是键<-->值,Map接口和Collection接口是平级的,他们都是集合的最大父接口。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
List和Set是继承自Collection接口而Map是独立的接口,不继承Collection接口。
回复 使用道具 举报
itpower 发表于 2014-2-23 22:24
集合框架分为两大派系
      |--单列集合 Coloection 接口
              |--List 接口 有序的,可重复,可根据角 ...

这个太全面了,可以留做笔记了,顶一个:D
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马