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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Matrix_heima 中级黑马   /  2015-7-21 10:26  /  309 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一、集合的由来

1,对象用于封装特有数据,对象用什么存呢?当对象数量较多,而且个数不确时,就可以用集合来存储。也就是说集合的产生是为了存储对象。

数组也可以用来存储对象,为什么不用数组呢?

因为数组的长度是固定的,当对象个数不确定时,就无法用数组来存储。

2,集合与数组的区别:

a,数组可以存储基本数据类型,也可以存储对象,而集合只能用来存储对象,不可以存储基本数据类型。

b,集合的长度是可变的,而数组的长度是固定的。

二、集合框架

1,每一个集合存储对象的方式不尽相同,根据某些特定需求而定的。集合因为内部的数据结构不同,就会产生多种不同的具体容器,这些容器不断向上抽取就形成了集合
框架。框架的顶层接口是Collection。

Collection

|----List:有序,存入和取出的顺序一致,元素都具有索引和角标,元素可以重复

|----Vector:内部是数组数据结构,同步的,查询和增删都慢。

|----ArrayList:内部是数组数据结构,非同步的,替代了Vector,查询快,增删慢。

|----LinkedList:内部是链表数据结构,非同步的。查询慢,增删快。

|----Set:无序,存入和取出的顺序通常不一致,元素不可以重复

|----HashSet:内部数据结构是哈希表,不同步。(元素唯一性:依靠hashCode()和equals()方法,来保证元素的唯一性)

|----LinkedHashSet:保证元素的唯一性,同时还是有序的

|----TreeSet:内部结构为二叉树,可以对集合中的元素进行排序,不同步。(元素唯一性:根据比较方法的返回结果是否是0,是0,就是相同元素,不存)

1 个回复

倒序浏览
赞一个   收藏了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马