集合概述
集合:集合时java提供的一种容器,可以存储多个数据,重写了toString方法。
集合与数组的区别
1.数组声明了它容纳的元素的类型,而集合不声明
2.数组的长度是固定的,集合长度是改变的
3.数组的存放类型只能时一种(基本类型/引用类型),集合存放的类型可以是不是一种(不添加泛型的时候时Object类型)
4.数组是java语言中内置的数据类型,是线性排序,执行效率或者类型查询是最快的
5.集合以接口和类的形式存在具有封装,继承和多态等类的特征,通过简单的方法和调用即可是实现各种复杂的操作,大大提高软甲的开发效率
集合框架
* |----Collection接口:单列集合,用来存储一个一个的对象
* |----List接口:存储有序的、可重复的数据。 -->“动态”数组
* |----ArrayList、LinkedList、Vector
*
* |----Set接口:存储无序的、不可重复的数据 -->高中讲的“集合”
* |----HashSet、LinkedHashSet、TreeSet
*
* |----Map接口:双列集合,用来存储一对(key - value)一对的数据 -->高中函数:y = f(x)
* |----HashMap、LinkedHashMap、TreeMap、Hashtable、Properties
集合框架使用场景
集合根据存储结构分为两大类
-
单列集合 java.util.collection;
-
双列集合 java.util.Map;
-
Collection
-
定义的是所有的单列集合中共性的API方法
所有的单列集合都可以使用共性的方法
-
没有带索引的方法
-
-
List接口
-
有序的集合存储何取出元素的顺序相同
-
允许存储相同的元素
-
有索引,可以普通的for循环遍历
-
-
Set接口
- 不允许存储重复性的元素
- 没有索引(不能使用重复的元素)
-
Collection集合常用功能
Collection集合是所有单列集合的父类接口,在Collection集合中定义所有单列集合的共性的API方法,这些方法适用于所有的单列集合。 boolean add(E e) 把给定的对象添加到当前的集合中 '一般情况下返回true,所以可以不用接受' addAll(Collection coll) 将指定集合中的所有元素添加到此集合 int size() 获取集合元素的个数 boolean isEmpty() 判断当前集合是否为空(空是指元素) void clear() 清空集合当中的所有的元素 boolean contains(E e) 判断当前集合当中是否包含指定的元素 containsAll(Collection coll) 如果此集合包含指定集合中的所有元素,则返回 true 。 boolean remove(E e) 把给定的对象从当前集合当中删除掉 removeAll(Collection coll) 删除指定集合中包含的此集合的元素(可选操作),低调用返回后此集合不包含与指定集合相同的元素. '参数coll()包含要从此集合中删除的元素的集合' retainsAll(Collection coll) 仅保留此集合中包含在指定集合中的元素(可选操作)。 换句话说,从该集合中删除所有不包含在指定集合中的元素。 '参数 coll包含要保留在此集合中的元素的集合' equals(Object obj) 将指定的对象与此集合进行比较以获得相等性。 hasCode() 返回此集合的哈希码值。 Object[] toArray() 把集合中的元素,存储到一个数组中 Iterator<E> iterator() 返回此集合中元素的迭代器。 //如果在创建集合时,没有指定集合存储元素的数据类型,系统或默认成Object类型。