Collection集合
1. 集合概述
一般集合如ArrayList,相对于数组而言
数组的长度是固定的,集合的长度是可变的
数组中存储的是同一类型的元素,可以存储基本数据类型数值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般对象多的时候,使用集合进行存储
2. 集合框架
集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection
和双列集合java.util.Map
,这篇文章讲的主要是单列结合Collection。
Collection
:Collection
是单列集合的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.List
和java.util.Set
。其中,List
的特点是元素有序、元素可重复。Set
的特点是元素无序,而且不可重复。List接口的主要实现类有java.util.ArrayList
和java.util.LinkedList
,Set接口的主要实现类有java.util.HashSet
和java.util.TreeSet
。
3. Collection集合常用功能
3.1 共性的方法有七个,注意:没有索引index,共性方法中没有索引作为参数,要循环的话,用迭代器
public boolean add(E e); 把给定的对象添加到当前集合中
public boolean remove(E e); 把给定的对象在当前集合中删除
public boolean contains(E e); 判断当前集合中是否包含给定的对象
public boolean isEmpty(); 判断当前的集合是否为空
public int size(); 返回当前集合中元素的个数
public Object[] toArray(); 把集合中的元素,存储到数组中
public void clear(); 清空集合中所有的元素
我们写一个代码,把上面的方法都用一下
public static void main(String[] args) {
//创建集合对象,可以使用多态
Collection<String> stars = new ArrayList<>();
//刚创建时,里面什么都没有,打印出来的是一对中括号[]
System.out.println(stars); //[]
//1. public boolean add(E e); 把给定的对象添加到当前集合中
stars.add("周杰伦");
stars.add("张国荣");
stars.add("陈百强");
//这时候把stars打印出来就有东西了
System.out.println(stars); //[周杰伦, 张国荣, 陈百强]
//2. public boolean remove(E e); 把给定的对象在当前集合中删除
boolean b1 = stars.remove("张国荣");
System.out.println(b1); // true
System.out.println(stars); //[周杰伦, 陈百强]
//3. public boolean contains(E e); 判断当前集合中是否包含给定的对象
boolean b2 = stars.contains("张国荣");
System.out.println(b2); //false,代表对象已删除成功
//4. public boolean isEmpty(); 判断当前的集合是否为空,真的空就返回true
boolean b3 = stars.isEmpty();
System.out.println(b3); //false
//5. public int size(); 返回当前集合中元素的个数
int size = stars.size();
System.out.println(size); //2
//6. public Object[] toArray(); 把集合中的元素,存储到数组中
Object[] arr = stars.toArray();
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]); //周杰伦 陈百强
}
//7. public void clear(); 清空集合中所有的元素
stars.clear();
//看看是不是真的清空了
System.out.println(stars.isEmpty()); //true
}
由于这七个方法是共性的方法,所以我们把Collection<String> stars = new ArrayList<>();
的右边的ArrayList改成LinkedList、Vector、HashSet…等等都是可以的,因为这七个方法是通用的方法。