黑马程序员技术交流社区

标题: 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