Collection接口下的常用方法【重点】
增:
boolean add(E e)
添加当前集合约束的指定数据类型到当前集合中
boolean addAll(Collection<? extends E> c);
添加另一个集合到当前集合中,要求添加集合中保存的元素必须是当前集合中保存
元素本身或者其子类对象 【泛型的上限】
class Dog extends Animal
class Cat extends Animal
class Tiger extends Animal
删:
boolean remove(Object obj);
删除集合中的指定元素,删除成功返回true,未找到指定元素,无法删除返回
false,并且在多个元素的情况下,删除找到的第一个元素。
boolean removeAll(Collection<?> c);
在当前集合中删除两个集合的交集
boolean retainAll(Collection<?> c);
在当前集合中保留两个集合的交集
void clear();
清空整个集合中的所有元素
查:
int size();
有效元素个数
boolean isEmpty();
判断当前集合是否为空,是否存在有效元素
boolean contains(Object obj);
判断指定元素是否在当前集合中存在
boolean containsAll(Collection<?> c);
判断传入的参数集合是不是当前集合的子集合
Object[] toArray();
返回集合中所有保存元素的Object类型数组
/*
* Collection集合操作
*/
public class Demo1 {
public static void main(String[] args) {
/*
* Collection是一个接口,接口没有自己的类对象,这里使用Collection接口
* 的实现类ArrayList来演示方法.
* 接口引用数据类型变量 指向 遵从 接口的实现类对象,这就是多态
*/
Collection<String> c1 = new ArrayList<String> ();
/*
* Add方法
*/
c1.add("烤羊排");
c1.add("烤羊肉串");
c1.add("烤韭菜");
c1.add("烤牛肉串");
c1.add("烤生蚝");
System.out.println(c1);
Collection<String> c2 = new ArrayList<String> ();
c2.add("新密炒虾尾");
c2.add("炒方便面");
c2.add("炒饼丝");
c2.add("干炒牛盒");
c2.add("猪脚饭");
c2.add("猪脚饭");
/*
* c2集合中的元素扔c1里了
* 添加另一个集合到当前集合中,要求添加集合中保存的元素必须是当前集合中
* 保存元素本身或者其子类对象 【泛型的上限】
*/
c1.addAll(c2);
System.out.println(c1);
/*
* 删除方法 删除集合中的指定元素,删除成功返回true,未找到指定元素,无法删除
* 返回false,并且在多个元素的情况下,删除找到的第一个元素。
*/
c1.remove("炒方便面");
c1.remove("猪脚饭");
c1.remove("满汉全席");
System.out.println(c1);
Collection<String> c3 = new ArrayList<String> ();
c3.add("烤羊排");
c3.add("新密炒虾尾");
c3.add("干炒牛盒");
c3.add("黄金蛋炒饭");
//删除两个集合的交集
//c1.removeAll(c3);
//保留两个集合的交集
//c1.retainAll(c3);
//清空整个集合中的所有元素
c1.clear();
System.out.println(c1);
}
}
public class Demo2 {
public static void main(String[] args) {
/*
* Collection是一个接口,接口没有自己的类对象,这里使用Collection接口
* 的实现类ArrayList来演示方法.
* 接口引用数据类型变量 指向 遵从 接口的实现类对象,这就是多态
*/
Collection<String> c1 = new ArrayList<String> ();
/*
* Add方法
*/
c1.add("烤羊排");
c1.add("烤羊肉串");
c1.add("烤韭菜");
c1.add("烤牛肉串");
c1.add("烤生蚝");
c1.add("");
//获取有效元素个数
int size = c1.size();
System.out.println(size);
//c1.clear();
//判断当前集合是否为空
System.out.println(c1.isEmpty());
//判断指定元素是否在当前集合中存在
System.out.println(c1.contains("新密炒虾尾"));
System.out.println(c1.contains("烤羊排"));
Collection<String> c2 = new ArrayList<String> ();
c2.add("烤羊排");
c2.add("烤羊肉串");
c2.add("烤生蚝");
//c2.add("干炒牛盒");
//判断传入参数集合c2是不是当前集合c1的子集合
System.out.println(c1.containsAll(c2));
//返回集合中所有保存元素的Object类型数组
Object[] array = c1.toArray();
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
}
public class Demo2 {
public static void main(String[] args) {
/*
* Collection是一个接口,接口没有自己的类对象,这里使用Collection接口
* 的实现类ArrayList来演示方法.
* 接口引用数据类型变量 指向 遵从 接口的实现类对象,这就是多态
*/
Collection<String> c1 = new ArrayList<String> ();
/*
* Add方法
*/
c1.add("烤羊排");
c1.add("烤羊肉串");
c1.add("烤韭菜");
c1.add("烤牛肉串");
c1.add("烤生蚝");
c1.add("");
//获取有效元素个数
int size = c1.size();
System.out.println(size);
//c1.clear();
//判断当前集合是否为空
System.out.println(c1.isEmpty());
//判断指定元素是否在当前集合中存在
System.out.println(c1.contains("新密炒虾尾"));
System.out.println(c1.contains("烤羊排"));
Collection<String> c2 = new ArrayList<String> ();
c2.add("烤羊排");
c2.add("烤羊肉串");
c2.add("烤生蚝");
//c2.add("干炒牛盒");
//判断传入参数集合c2是不是当前集合c1的子集合
System.out.println(c1.containsAll(c2));
//返回集合中所有保存元素的Object类型数组
Object[] array = c1.toArray();
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
}