键盘上的青春

导航

 

当数据多需要存储,需要容器且数据的个数不确定,无法使用数组,这时可以使用Java中的另一个容器——集合。

集合与数组的区别:

数组的长度是固定的,集合的长度是可变的。 

数组存储同一类型的元素,可以存储基本数据类型值,  集合存储的都是对象,且对象的类型可以不一致。

什么时候使用集合,怎样区分集合容器

当对象多的时候需要先进行存储。每个容器的数据结构(数据存储的一种方式)不一样。

学习体系:看顶层,用底层

Collection接口

import java.util.ArrayList;
import java.util.Collection;


public class CollectionDemo {
    public static void main(String[] args) {
        Collection coll= new ArrayList();
        //collectionDemo1(coll);
        Collection c1 = new ArrayList();
        Collection c2 = new ArrayList();
        collectionDemo2( c1, c2);
    }
    
    /**
     * 
      * collectionDemo
      * @Title: collectionDemo
      * @Description: collection接口中的普通方法
      * @param @param coll    
      * @return void
      * @throws
     */
    private static void collectionDemo1(Collection coll) {
        //往集合中添加元素
        coll.add("Tom1");
        coll.add("Tom2");
        coll.add("Tom3");
        
        //打印集合
        System.out.println(coll);//打印结果 [Tom1, Tom2, Tom3]
        
        //删除集合
        //coll.remove("Tom1");
        //System.out.println(coll);//打印结果[Tom2, Tom3]
        
        //判断是否包含
        System.out.println(coll.contains("Tom2"));//打印结果true
        
        //是否为空
        System.out.println(coll.isEmpty());//打印结果false
        
        //清除
        coll.clear();
        System.out.println(coll);//打印结果为空
        
    }
    /**
     * 
      * collectionDemo2
      * @Title: collectionDemo2
      * @Description: collection方法中带All的方法
      * @param @param c1
      * @param @param c2    
      * @return void
      * @throws
     */
    private static void collectionDemo2(Collection c1,Collection c2) {
        //给两个集合添加元素
        c1.add("Tom1");
        c1.add("Tom2");
        c1.add("Tom3");
        
        c2.add("Tom2");
        c2.add("Tom5");
        c2.add("Tom6");
        
        //添加所有c2的元素到c1中
        c1.addAll(c2);
        //c1中是否包含c2中的所有元素
        boolean b = c1.containsAll(c2);
        System.out.println(b);//打印结果为true
        
//        //删除c1中所有和c2相同的元素
//        c1.removeAll(c2);
//        System.out.println(c1);
        
        //保留c1和c2中相同的元素
        c1.retainAll(c2);
        System.out.println(c1); 
        
    }

}

 

posted on 2017-10-01 11:44  执念ノ  阅读(207)  评论(0编辑  收藏  举报