zoukankan      html  css  js  c++  java
  • 集合框架

    Collection

     List和Set

    add()

    contains    

    size,clear,isEmpty

     addAll与containsAll

    -------------------------------淫荡分割线---------------------------------

    java提供了一种可以存数一组数据的数据结构,其提供了丰富的方法,在实际开发中往往比数组使用的广泛。

    这种数据结构成为集合:Collection。

    Collection是一个接口,其定义了集合的相关功能方法。

    1. List和Set

    Collection派生出了两个子接口,一个是List另一个则是Set。
    List:称为可重复集,顾名思义,该集合中是允许存放重复元素的,那么何为重复元素?

        重复元素指的并非是同一个元素,而是指equals方法比较为true的元素。
    Set:称为不可重复集,所以,该集合中是不能将相同的元素存入集合两次,同List,

        这里相同指的也是两个元素的equals比较结果为true。 不会出现true的情况

    2. 集合持有对象的引用


    集合当中 放的都是引用 是地址

    集合中存储的都是引用类型的元素,那么引用类型变量实际上存储的是对象的“地址”,所以实际上集合只存储了元素对象在堆中的地址

    而并不是将对象本身存入了集合中。

    E 类型object

    3.add()方法

    Collection定义了一个add方法用于向集合中添加新元素。 该方法定义为:
    boolean add(E e)
    该方法会将给定的元素添加进集合,若添加成功则返回true,否则返回false(Set集合里面不能放重复元素)

    public class TCollection {
        public static void main(String[] args) {
            /*
             * boolean add(E e)
             * 向集合中添加元素 添加成功返回true
             */
            
            Collection collection =new ArrayList();
            collection.add("a");
            collection.add('b');
            collection.add("c");
            System.out.println(collection);
            
        }
        
    }

    4. contains方法

    boolean contains(Object o)
    该方法会用于判断给定的元素是否被包含在集合中。若包含则返回true,否则返回false。
    这里需要注意的是,集合在判断元素是否被包含在集合中是使用元素的equals的比较结果。
    (o==null ? e==null : o.equals(e)) 其中e是集合中的元素。

    class TCollection2{
        public static void main(String[] args) {
            /*
             * boolean contain()
             * 判断集合中是否包含给定元素 包含则返回true
             * 
             * 存入集合的元素 应妥善重写equals方法     比如Cell里面要重写equals
             * 应为集合中很多方法都参考equals的比较结果
             */
            
            Collection c1 =new ArrayList();
            c1.add(new Cell(1,2));
            c1.add(new Cell(1,3));
            c1.add(new Cell(1,4));
            c1.add(new Cell(1,5));
            System.out.println(c1);
            
            Cell cell =new Cell(1,2);
            
            boolean contains =c1.contains(cell);
            System.out.println("是否包含cell:"+contains);
        }
    }

    5. size,clear,isEmpty方法

    size方法用于获取当前集合中的元素总数。该方法定义为:int size()
    clear方法用于清空集合。该方法定义为:void clear()
    isEmpty方法用于判断当前集合中是否不 包含元素。该方法定义为:boolean isEmpty()
    例如:

    /**
     * 测试集合的size 、clear、 isEmpty方法
     * 
     */
    class TCollection3{
        /**
         * 测试集合的size 、clear、 isEmpty方法
         * 
         */
        public static void main(String[] args) {
            Collection c2 = new ArrayList();
            boolean isEmpty =c2.isEmpty();
            System.out.println("是否是个空集合:"+isEmpty);
            System.out.println("size:"+c2.size());
            c2.add("java");
            c2.add("php");
            c2.add("cpp");
            System.out.println("size:"+c2.size());
            
        }
    }

    6. addAll与containsAll方法

    集合也提供了批处理操作:
    addAll方法用于将给定集合中的所有元素添加到当前集合中,其方法定义为:

            /*
             * 将c2元素全部放入c3中
             */
            Collection c3 =new ArrayList();
            c3.addAll(c2);
            System.out.println(c3);
            //查看集合c4中是否包含c2中的所有元素
            Collection c4= new ArrayList();
            c4.add("cpp");
            c4.add("php");
            c4.containsAll(c2);
            System.out.println(c4.containsAll(c2));
            
                /*
             * boolean remove(Object o)
             * 删除集合中第一个与给定的元素相同的元素
             * 这里相同也是依靠元素的equals方法比较的
             */
            System.out.println(c2);
            c2.remove(c4);
            System.out.println(c2);
            
        }
    }
  • 相关阅读:
    JS方法集
    IOC 在Mvc中的使用
    ExtJS4 便捷三层开发模式
    Net Framework中的提供的常用委托类型
    作用域、作用域链理解
    Swing中弹出对话框的几种方式(转)
    程序员的价值观——经验是无价之宝(转)
    透过浏览器看HTTP缓存(转)
    模态窗口其实就是在当前窗口调用系统的消息循环,响应用户的操作,将相关的消息发送到对应的窗口(转)
    开发小结(转)
  • 原文地址:https://www.cnblogs.com/manue1/p/4481340.html
Copyright © 2011-2022 走看看