1.数组与collection的区别
A:长度不同,数组长度固定,collection长度可变
B:存储内容不同,数组只能存储同一元素的元素,colletion可以存储不同类型的元素和对象
C:存储对象不同,数组可以存储基本类型数据,也可以存储引用类型,collection只能存储引用类型数据
colletion功能:
1.添加功能
boolean add(Object o) //添加一个元素
boolean addAll(Collection c) //将集合c中所有元素添加进来
测试:
Collection<String> c = new ArrayList<String>(); //Collection是个接口,不能实例化,故用子类
Collection<String> c1= new ArrayList<String>();
c.add("老鼠");
c.add("爱");
c.add("大米");
c1.add("老鼠");
c1.add("爱");
c1.add("打洞");
c.addAll(c1);
System.out.println(c.toString()); //[老鼠, 爱, 大米, 老鼠, 爱, 打洞]
2.移除功能
void clear() 移除本collection中所有元素
boolean remove(Object o) //移除一个元素
boolean removeAll(Collection c) //移除本集合中属于集合c的元素,集合c中可以包含本集合没有的元素
测试
Collection<String> c = new ArrayList<String>();
Collection<String> c1 = new ArrayList<String>();
//测试1:remove
c.add("老鼠");
c.add("爱");
c.add("大米");
System.out.println(c.toString()); //[老鼠, 爱, 大米]
c.remove("大米");
System.out.println(c.toString()); //[老鼠, 爱]
//测试2:removeAll
Collection<String> c = new ArrayList<String>();
Collection<String> c1 = new ArrayList<String>();
c.add("老鼠");
c.add("爱");
c.add("大米");
c1.add("老鼠");
c1.add("爱");
c1.add("打洞");
c.addAll(c1);
System.out.println(c.toString()); //[老鼠, 爱, 大米, 老鼠, 爱, 打洞]
c1.add("大象");
c.removeAll(c1);
System.out.println(c.toString()); //[大米]
//测试3:clear
Collection<String> c = new ArrayList<String>();
c.add("老鼠");
c.add("爱");
c.add("大米");
System.out.println(c.toString()); //[老鼠, 爱, 大米]
c.clear();
System.out.println(c.toString()); //[]
3. 判断功能
boolean contains(Object o) //如果此 collection 包含指定的元素,则返回 true
boolean containsAll(Collection<?> c) //包含指定 collection 中的所有元素,则返回 true。
boolean isEmpty() //如果此 collection 不包含元素,则返回 true。
测试:
Collection<String> c = new ArrayList<String>(); Collection<String> c1 = new ArrayList<String>(); c.add("hello, "); c.add("I "); c.add("love "); c.add("you!"); c1.add("I "); c1.add("love "); c1.add("you!"); System.out.println(c.contains("love ")); //true System.out.println(c.containsAll(c1)); //true c1.add("great!"); System.out.println(c.containsAll(c1)); //false System.out.println(c.isEmpty()); //false
4.获取功能
Iterator<E> iterator() //返回在此 collection 的元素上进行迭代的迭代器。
测试:
Collection<String> c = new ArrayList<String>();
c.add("hello, ");
c.add("I ");
c.add("love ");
c.add("you!");
Iterator<String> it = c.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
5:长度功能
int size():元素的个数面试题:数组有没有length()方法呢?字符串有没有length()方法呢?集合有没有length()方法呢?
6:交集功能
boolean retainAll(Collection<?> c) //仅保留此 collection 中那些也包含在指定 collection 的元素,即交集
Collection<String> c = new ArrayList<String>();
Collection<String> c1 = new ArrayList<String>();
c.add("hello, ");
c.add("I ");
c.add("love ");
c.add("you!");
c1.add("I ");
c1.add("love ");
System.out.println(c.toString());
boolean b=c.retainAll(c1);
System.out.println(b);
System.out.println(c.toString());