黑马程序员技术交流社区

标题: 集合 [打印本页]

作者: 周一川    时间: 2013-4-12 22:25
标题: 集合
集合中常见的两个子体系及特点?
作者: 通行天下    时间: 2013-4-12 23:06
Collection是存放一组单值的最大接口。
List是Collection接口的子接口,对Collection接口进行了扩充,里面的内容是允许重复的且有顺序。
Set是Collection接口的子类,没有对Collection接口进行进行扩充,里面不允许存放重复内容,但没有顺序。
Map是存放一对值的最大接口,以key-->value的形式保存。
作者: 杨明宁    时间: 2013-4-12 23:25
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 值   
*
作者: CrazyProgram    时间: 2013-4-12 23:56
上面说的很详细,
我就在加个TreeMap也是线程不安全的,可以用于给map集合中的键进行排序
作者: 将臣    时间: 2013-4-13 00:35
首先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,这些才可被实例化。
//        容器内每个为之所存储的元素个数不同。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2