1.集合:集合是java种提供的一种容器,可以用来存储多个数据。
集合和数值都是容器,它们有啥区别?
数组的长度是固定的。集合的长度是可变的。
数组中存储的是同一个类型的元素,可以存储基本数据类型值。
集合存储的都是对象。而且对象可以不一致。在开发中一般对象多的时候,使用集合进行存储。
2.集合框架:
Java se 提供了满足各种需求的API,在使用这些API前,
先了解其继承与接口操作构架,才能了解何时采用哪个类,以及之间如何彼此合作,从而达到灵活的应用
学习集合的目标:
1.会使用集合存储数据
2.会遍历集合,把数据取出来
3.掌握每种集合的特性
集合框架的学习方式:
1.学习顶层:学习顶层接口/抽象类中共性的方法,所有的子类都可以使用
2.使用底层:底层不是接口 就是抽象类,无法创建对象使用,需要使用底层的子类创建对象使用。
java.util.Collection接口
Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些方法,
这些方法可用于操作所有的单列集合。
方法如下:
public boolean add(E e):把给定的对象添加到当前集合中。
public void clear():清空集合中所有的元素。
public boolean remove(E e): 把给定的对象在当前集合中删除。
public boolean contains(E e): 判断当前集合中是否包含给定的对象。
public boolean isEmpty(): 判断当前集合是否为空。
public int size(): 返回集合中元素的个数。
public Object[] toArray(): 把集合中的元素,存储到数组中。
public class Demo01Collection {
public static void main(String[] args) {
//创建集合对象,可以使用多态
// Collection<String> coll = new ArrayList<>();
Collection<String> coll = new HashSet<>();
System.out.println(coll); //重写了toString方法 []
/**
public boolean add(E e): 把给定的对象添加到当前集合中
返回值是一个boolean值,一般都是返回true,所以不用接收
*/
boolean b1 = coll.add("张三");
System.out.println("b1 = " + b1); //b1 : true
System.out.println(coll); //[张三]
coll.add("李四");
coll.add("赵六");
coll.add("田七");
System.out.println(coll); //[张三, 李四, 赵六, 田七]
/**
public boolean remove(E e): 把给定的对象在当前集合中删除。
返回值是一个boolean值,集合中存在元素,删除元素,返回true
集合中不存在元素,删除失败,返回false
*/
boolean b2 = coll.remove("赵六");
System.out.println("b2 = " + b2); //b2 = true
boolean b3 = coll.remove("小明");
System.out.println("b3 = " + b3); //b3 = false
System.out.println(coll); //[张三, 李四, 田七]
/**
public boolean isEmpty(): 判断当前集合是否为空。
集合为空返回true,集合不为空返回false
*/
boolean b6 = coll.isEmpty();
System.out.println("b6 = " + b6); //b6 = false
/**
public int size(): 返回集合中元素的个数。
*/
int size = coll.size();
System.out.println("size = " + size); //size = 3
/**
public Object[] toArray(): 把集合中的元素,存储到数组中。
*/
Object[] arr = coll.toArray();
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}/**
张三
李四
田七
*/
/**
public void clear():清空集合中所有的元素。
但是不删除集合,集合还存在
*/
coll.clear();
System.out.println(coll); //[]
}
}