15 Collection类小结

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());


  7:把集合转换为数组

   Object[] toArray()

猜你喜欢

转载自blog.csdn.net/youmingke/article/details/81017445