黑马程序员技术交流社区
标题:
Collection类中方法的介绍
[打印本页]
作者:
fuwei52331314
时间:
2016-7-6 15:21
标题:
Collection类中方法的介绍
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
/*
* 在集合里的存储,永远存的是一个引用地址
* */
public class CollectionDemo {
public static void main(String[] args) {
/*
* boolean add(E e)
确保此 collection 包含指定的元素(可选操作)。
boolean addAll(Collection<? extends E> c)
将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。
void clear()
移除此 collection 中的所有元素(可选操作)。
*/
Collection c = new ArrayList();
c.add("A");
c.add("A");
boolean b = c.add("A");
System.out.println(b);
System.out.println(c);
Collection c2 = new ArrayList();
c2.add(new Date());
c2.add("大黄");
c.addAll(c2);
System.out.println(c);
//c.clear();
System.out.println(c);
/*
* boolean contains(Object o)
如果此 collection 包含指定的元素,则返回 true。
boolean containsAll(Collection<?> c)
如果此 collection 包含指定 collection 中的所有元素,则返回 true。
*/
System.out.println(c.contains("大黄"));
System.out.println(c.containsAll(c2));
System.out.println(c2.containsAll(c));
/*
* boolean isEmpty()
如果此 collection 不包含元素,则返回 true。
*/
System.out.println("c.isEmpty()="+c.isEmpty());
/*
* boolean remove(Object o)
从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
boolean removeAll(Collection<?> c)
移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。
*/
System.out.println(c.remove("服务"));
System.out.println(c.remove("大黄"));
System.out.println(c);
System.out.println(c.removeAll(c2));
System.out.println(c);
/*
* boolean retainAll(Collection<?> c)
仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。
//其实就是求两个集合的交集
*/
System.out.println(c.retainAll(c2));
System.out.println(c);
/*
* Object[] toArray()
返回包含此 collection 中所有元素的数组。
*/
Object[] os = c2.toArray();
for (Object o : os) {
System.out.println("0 = " + o);
}
//for-each的使用场合,数组和Iterable对象
for (Object object : c2) {
System.out.println("object = " + object);
}
/*
* Iterator<E> iterator()
返回在此 collection 的元素上进行迭代的迭代器。
Iterator方法:
boolean hasNext()
如果仍有元素可以迭代,则返回 true。
E next()
返回迭代的下一个元素。
void remove()
从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。
*/
Iterator it = c2.iterator();
System.out.println(it.next()); //每调用一次next()方法,指针就会向后移动一位
System.out.println(it.next());
//System.out.println(it.next());//java.util.NoSuchElementException指针已到最后了,没有下一个元素了
System.out.println(it.hasNext());
if(it.hasNext()){
System.out.println(it.next());
}
it = c2.iterator();
while(it.hasNext()){
System.out.println("while-------->" + it.next());
}
for (it=c2.iterator(); it.hasNext(); ) {
System.out.println("for-------->" + it.next());
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2