Java基础——集合(一)——集合体系、Collection集合
2015-05-02 00:09
162 查看
一、集合概述
Java是一种面向对象语言,如果我们要针对多个对象进行操作,就必须对多个对象进行存储。而数组长度固定,不能满足变化的要求。所以,java提供了集合。特点
1. 长度可以发生改变
2. 只能存储对象
3. 可以存储多种类型对象
与数组区别
数组 | 集合 | |
长度 | 固定 | 可变 |
存储元素 | 基本类型/引用类型 | 引用类型 |
元素类型的一致性 | 必须一致 | 可以不一致 |
二、集合体系
集合作为一个容器,可以存储多个元素,但是由于数据结构的不同,java提供了多种集合类。将集合类中共性的功能,不断向上抽取,最终形成了集合体系结构。数据结构:数据存储的方式
Java中集合类的关系图
集合体系导图(用鼠标拖动图片可看大图或右击图片选择在新标签页中打开图片(I))
三、Collection
Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行,于是衍生出两个子类接口List和Set。Collection基本功能
A:添加功能booleanadd(Object obj):向集合中添加一个元素
booleanaddAll(Collection c):向集合中添加一个集合的元素。
B:删除功能
voidclear():删除集合中的所有元素。
booleanremove(Object obj):从集合中删除指定的元素
booleanremoveAll(Collection c):从集合中删除一个指定的集合元素。
C:判断功能
booleanisEmpty():判断集合是否为空。
booleancontains(Object obj):判断集合中是否存在指定的元素。
booleancontainsAll(Collection c):判断集合中是否存在指定的一个集合中的元素。
D:遍历功能
Iterator iterator():就是用来获取集合中每一个元素。
E:长度功能
intsize():获取集合中的元素个数
F:交集功能
booleanretainAll(Collection c):判断两个集合中是否有相同的元素。???
G:把集合转换成数组
Object[]toArray():把集合变成数组。
List接口
List接口下的集合元素存储有序,可以重复。List的特有功能
A:添加功能voidadd(int index, Object obj):在指定位置添加元素
B:删除功能
Objectremove(int index):根据指定索引删除元素,并把删除的元素返回。
C:修改功能
Objectset(int index, Object obj):把指定索引位置的元素修改为指定的值,返回修改前的值。
D:获取功能
intindexOf(Object o):返回指定元素在集合中第一次出现的索引
Objectget(int index):获取指定位置的元素
ListIteratorlistIterator():列表迭代器
E:截取功能
ListsubList(int fromIndex, int toIndex):截取集合。
Set 接口
Set接口下的元素无序,不可以重复。其下面分为HashSet和TreeSet。HashSet
底层数据结构是哈希表,线程不安全,效率高。保证唯一性依赖两个方法:hashCode()和equals()。
顺序:
判断hashCode()值是否相同。
相同:继续走equals(),看返回值
如果true:就不添加到集合。
如果false:就添加到集合。
不同:就添加到集合。
TreeSet
底层数据结构是二叉树,线程不安全,效率高。保证元素唯一性的方法时根据返回值是否是0。
保证排序的两种方式:
自然排序(元素具备比较性):实现Comparable接口
比较器排序(集合具备比较性):实现Comparator接口
未完待续,下篇为迭代器+Map集合
相关文章推荐
- Java基础知识——集合体系回顾整理(List Set Map)
- 黑马程序员——java基础——集合框架(一:单列集合(Collection体系))
- 黑马程序员——Java基础——集合类、Collection、List体系、集合框架LinkedList操作等
- 十五、Java基础---------集合框架体系以及List
- Java基础知识强化之集合框架笔记02:集合的继承体系图解
- 黑马程序员——java基础部分——集合体系之迭代、泛型
- 黑马程序员:Java基础——集合框架之体系概述、共性方法与迭代器
- Java基础学习笔记16——(Set集合,Collection集合总结)
- Java从基础开始_04集合的体系
- Java基础-集合框架(体系概述)
- 黑马程序员——java基础——集合框架(二: 双列集合 (Map体系))
- Java基础针对自己薄弱环节总结05(API、集合)
- java基础之集合List
- Java基础知识强化之集合框架笔记74:各种集合常见功能 和 遍历方式总结
- Java 集合体系
- Java 集合体系之 Map 源码分析
- Java基础——集合List+Set+泛型+Map
- java 基础 集合 总结
- Java基础---集合 map
- 黑马训练营:Java基础——Map集合之基础