什么是集合框架
java.util.Collection接口以及其子接口和众多实现类
集合框架具备了能够存放各种元素的功能,类似数组,但绝不等于数组
为什么需要集合框架
一个数组对象也可以保存各种元素,那为啥还需要集合呢?
因为集合除了能保存各种元素之外,还封装了对数组元素维护的基本方法
比如添加\删除元素,无需手动编写代码,而且集合还没有长度固定的限制条件,使用起来更方便。
集合与数组的区别
集合 | 数组 | |
---|---|---|
长度区别 | 固定 | 可变 |
内容区别 | 可以是基本数据类型,也可以是引用类型 | 只能是引用类型 |
元素区别 | 只能存储同一种数据类型 | 可以存储多个不同种类型 |
集合的分类
Collection下面有两个常用的子接口:
java.util.List:线性表,可重复集合,有序,可以通过索引(下标)直接操作元素,这一点与数组相同,常用实现类:ArrayList,LinkedList。
java.util.Set:不可重复集合,大部分实现类是无序,不能直接通过索引(下标)操作元素,常用实现类:HashSet
上述来中集合判定元素是否重复是依靠元素自身的equals的比较结果而定的。
基本API的使用
package collection;
import java.util.ArrayList;
import java.util.Collection;
/**
* Collection是所有集合的顶级接口
* 俩个常见的集合类型:
* List:可重复集合,有序,可以通过索引(下标)直接操作元素
* Set:不可重复集合,无序,不能直接通过索引(下标)操作元素
*
* @author Wildmess
*
*/
public class CollentionDemo1 {
public static void main(String[] args) {
Collection collection = new ArrayList();
/*
* boolean add(E e)
* 像当前集合中添加给定元素,成功添加则
* 返回true,否则返回false
*/
collection.add("12");
collection.add("3");
collection.add("45");
collection.add("678");
System.out.println("这个集合目前已有的元素有:" + collection);
/*
* int size()
* 返回当前集合的元素个数
*/
System.out.println("这个集合的元素个数为:" + collection.size());
/*
* boolean isEmpty()
* 判断集合是否为空
*/
System.out.println("这个集合是否为空:" + collection.isEmpty());
/*
* boolean remove()
* 将指定元素从该集合中移除
*/
collection.remove("3");
System.out.println("这个集合目前已有的元素有:" + collection);
/*
* void clear()
* 清空集合中的元素
*/
collection.clear();
System.out.println("这个集合目前已有的元素有:" + collection);
System.out.println("这个集合是否为空:" + collection.isEmpty());
}
}