黑马程序员技术交流社区

标题: 【西安校区】Collection集合及常用功能 [打印本页]

作者: 逆风TO    时间: 2019-8-28 10:15
标题: 【西安校区】Collection集合及常用功能
本帖最后由 逆风TO 于 2019-8-28 14:15 编辑

Collection集合
1. 集合概述
一般集合如ArrayList,相对于数组而言

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

数组中存储的是同一类型的元素,可以存储基本数据类型数值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般对象多的时候,使用集合进行存储

2. 集合框架
集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection和双列集合java.util.Map,这篇文章讲的主要是单列结合Collection。

Collection:Collection是单列集合的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.List和java.util.Set。其中,List的特点是元素有序、元素可重复。Set的特点是元素无序,而且不可重复。List接口的主要实现类有java.util.ArrayList和java.util.LinkedList,Set接口的主要实现类有java.util.HashSet和java.util.TreeSet。


3. Collection集合常用功能
3.1 共性的方法有七个,注意:没有索引index,共性方法中没有索引作为参数,要循环的话,用迭代器

public boolean add(E e); 把给定的对象添加到当前集合中

public boolean remove(E e); 把给定的对象在当前集合中删除

public boolean contains(E e); 判断当前集合中是否包含给定的对象

public boolean isEmpty(); 判断当前的集合是否为空

public int size(); 返回当前集合中元素的个数

public Object[] toArray(); 把集合中的元素,存储到数组中

public void clear(); 清空集合中所有的元素

我们写一个代码,把上面的方法都用一下

public static void main(String[] args) {
    //创建集合对象,可以使用多态
    Collection<String> stars = new ArrayList<>();

    //刚创建时,里面什么都没有,打印出来的是一对中括号[]
    System.out.println(stars);  //[]

    //1. public boolean add(E e); 把给定的对象添加到当前集合中
    stars.add("周杰伦");
    stars.add("张国荣");
    stars.add("陈百强");
    //这时候把stars打印出来就有东西了
    System.out.println(stars); //[周杰伦, 张国荣, 陈百强]

    //2. public boolean remove(E e); 把给定的对象在当前集合中删除
    boolean b1 = stars.remove("张国荣");
    System.out.println(b1); // true
    System.out.println(stars); //[周杰伦, 陈百强]

    //3. public boolean contains(E e); 判断当前集合中是否包含给定的对象
    boolean b2 = stars.contains("张国荣");
    System.out.println(b2); //false,代表对象已删除成功

    //4. public boolean isEmpty(); 判断当前的集合是否为空,真的空就返回true
    boolean b3 = stars.isEmpty();
    System.out.println(b3); //false

    //5. public int size(); 返回当前集合中元素的个数
    int size = stars.size();
    System.out.println(size); //2

    //6. public Object[] toArray(); 把集合中的元素,存储到数组中
    Object[] arr = stars.toArray();
    for (int i = 0; i < arr.length; i++) {
        System.out.println(arr); //周杰伦 陈百强
    }

    //7. public void clear(); 清空集合中所有的元素
    stars.clear();
    //看看是不是真的清空了
    System.out.println(stars.isEmpty()); //true
}
由于这七个方法是共性的方法,所以我们把Collection<String> stars = new ArrayList<>();的右边的ArrayList改成LinkedList、Vector、HashSet…等等都是可以的,因为这七个方法是通用的方法。







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2