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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周一川 中级黑马   /  2013-4-12 22:25  /  1563 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

集合中常见的两个子体系及特点?

点评

请不要这样一连串的发帖,严重会被当做刷帖处理,谢谢  发表于 2013-4-13 08:27

4 个回复

倒序浏览
Collection是存放一组单值的最大接口。
List是Collection接口的子接口,对Collection接口进行了扩充,里面的内容是允许重复的且有顺序。
Set是Collection接口的子类,没有对Collection接口进行进行扩充,里面不允许存放重复内容,但没有顺序。
Map是存放一对值的最大接口,以key-->value的形式保存。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
List和Set是由Collection接口派生的两个接口,Collection、List、Set、Map都是接口,不能实例化
*Collection 与Map容器内每个为之所存储的元素个数不同,Collection类型者每个位置只有一个元素,Map类型者持有 key-value pair,像个小型数据库。
*
*
*Collection:是对象集合, List和 Set是Collection的两个子类接口。
*        1.List:可存放重复元素,元素存取是有序的。每个元素都有下标。可以通过下标 (1,2..) 来取得值,值可以重复
*        2.Set:不可以存放重复元素,包括对象和自定义对象,元素存取是无序的。  只能通过游标来取值,并且值是不能重复的
*
*Map:Map 是键值对集合,集合框架中的一个接口与Collection在集合框架中属并列存在的。
*          Map存储的是键值对,Map存储元素使用put方法,Collection使用add方法Map集合没有直接取出元素的方法,
*              而是先转成Set集合,在通过迭代获取元素,Map集合中键要保证唯一性。
*
*HashTable 和 HashMap 是 Map 的实现类
*        1.HashTable 是线程安全的,不能存储 null 值   
*        2.HashMap 不是线程安全的,可以存储 null 值   
*

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
上面说的很详细,
我就在加个TreeMap也是线程不安全的,可以用于给map集合中的键进行排序
回复 使用道具 举报
首先Collection 是对象集合, Collection 有两个子接口 List 和 Set
//         1.List 是有序的 Collection ,次序是 List 最重要的特点:它保证维护元素特定的顺序。
//        使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在 List 中的位置,类似于数组下标)来访问 List 中的元素,
//        这类似于 Java 的数组。和下面要提到的 Set 不同, List 允许有相同的元素。

//2. Set 具有与 Collection 完全一样的接口,实际上 Set 就是 Collection ,只是行为不同。
//         其次, Set 是一种不包含重复的元素的 Collection ,加入 Set 的元素必须定义 equals() 方法以确保对象的唯一性  ,
//        Set 接口不保证维护元素的次序。最后, Set 最多有一个 null 元素。

//3.Map 是键值对集合 ,Map 中元素,可以将 key 序列、 value 序列单独抽取出来,key 总是独一无二的, value 允许重复。
//        Collection类型者,每个位置只有一个元素。
//        Map类型者,持有 key-value pair,像个小型数据库。
//        Collection
//    --List:将以特定次序存储元素。所以取出来的顺序可能和放入顺序不同。
//          --ArrayList / LinkedList / Vector
//    --Set : 不能含有重复的元素
//          --HashSet / TreeSet
//Map
//    --HashMap
//   --HashTable
//   --TreeMap

//        List,Set,Map将持有对象一律视为Object型别。
// Collection、List、Set、Map都是接口,不能实例化。
// 继承自它们的 ArrayList, Vector, HashTable, HashMap是具象class,这些才可被实例化。
//        容器内每个为之所存储的元素个数不同。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马