Java集合类——Collection接口

一、Java集合类

1、Java中集合类的关系图
在这里插入图片描述

2、集合类的作用

  • Java集合类是为了方便对多个对象的操作(面向对象)

3、数组和集合类同是容器,有何不同?

  • 数组:数组中存储基本数据类型,长度固定,可以存储基本数据类型(int),可以存储引用数据类型(Integer)
  • 集合类:集合只能存储对象,长度是可变的,只能存储引用类型(Integer)

4、集合类的特点

  • 集合只能存储对象
  • 集合的长度是可变的
  • 集合可以存储不同类型的对象

二、Collection接口

1、Collection接口概述

  • Collection :收藏
  • Collection 层次结构中的根接口
  • Collection 表示一组对象,这些对象也称为 collection 的元素
  • Collection 是集合的顶层接口,它的子体系有重复的,有唯一的,有有序的,有无序的

2、Collection 接口成员方法

  • boolean add(E e)//添加一个元素
  • boolean remove(Object o)
  • void clear()//移除所有元素
  • boolean contains(Object o)//判断集合中是否包含指定元素
  • boolean isEmpty()
package shouji;

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

public class CollectionDemo {
    public static void main(String[] args){
        //Collection c = new Collection();//错误的,接口不能实例化
        Collection c = new ArrayList();
        System.out.println(c.add("hello"));
        c.add("world");//添加
        c.add("java");
        System.out.println(c);
        c.clear();//清空
        System.out.println(c);
        System.out.println("-------------------------");
        c.add("苍井空");//添加
        c.add("波多野结衣");
        System.out.println(c);
        System.out.println(c.remove("苍井空"));//移除一个元素
        System.out.println(c);
        System.out.println("++++++++++++++++++++++++++++++");
        System.out.println(c.contains("苍井空"));//判断集合中是否包含苍井空
        System.out.println(c.contains("波多野结衣"));//判断集合中是否包含波多野结衣
        System.out.println(c.isEmpty());//判断集合是否为空
        System.out.println(c.size());//判断元素的个数
    }
}
  • int size()
  • boolean addAll(Collection c)
  • boolean removeAll(Collection c)
  • boolean containsAll(Collection c)
  • boolean retainAll(Collection c)
package shouji;

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

public class CollectionDemo {
    public static void main(String[] args){
        Collection c1 = new ArrayList();//创建集合c1
        c1.add("苍井空");
        c1.add("波多野结衣");
        c1.add("小泽玛利亚");
        c1.add("泷泽萝拉");

        Collection c2 = new ArrayList();//创建集合 c2
        c2.add("17岁");
        c2.add("18岁");
        c2.add("19岁");
        c2.add("20岁");
        c2.add("21岁");
        c2.add("22岁");
        c2.add("23岁");
        c2.add("24岁");
        System.out.println(c1.addAll(c2));
        System.out.println(c1);
        System.out.println(c2);
        System.out.println("-----------------------");
        System.out.println(c1.removeAll(c2));
        System.out.println(c1);
        System.out.println(c2);
        System.out.println("===========================");
        System.out.println(c1.containsAll(c2));//c1集合是否包含c2
    }
}
  • Object[] toArray()//把集合转成数组,可以实现集合的遍历
package shouji;

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

public class CollectionDemo {
    public static void main(String[] args){
        Collection c1 = new ArrayList();//创建集合c1
        c1.add("苍井空");
        c1.add("波多野结衣");
        c1.add("小泽玛利亚");
        c1.add("泷泽萝拉");
        Object[] obj = c1.toArray();
        for (int i = 0; i < obj.length; i++){
            String s = (String) obj[i];
            System.out.println(s);
        }
    }
}
  • Iterator iterator()//迭代器,集合的专用遍历方式

新建两个 Java 文件

package shouji;

public class Student {
    private String name;
    private int age;
    public Student(){
        super();
    }
    public Student(String name, int age){
        super();
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
package shouji;

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

public class CollectionDemo {
    public static void main(String[] args){
        Collection c1 = new ArrayList();//创建集合c1
        Student s1 = new Student("苍井空",17);
        Student s2 = new Student("小泽玛利亚",18);
        Student s3 = new Student("波多野结衣",19);
        Student s4 = new Student("泷泽萝拉",20);
        Student s5 = new Student("水菜丽",21);
        Student s6 = new Student("刘诗诗",22);
        Student s7 = new Student("范冰冰",23);

        c1.add(s1);//把人添加到集合里
        c1.add(s2);
        c1.add(s3);
        c1.add(s4);
        c1.add(s5);
        c1.add(s6);
        c1.add(s7);

        Iterator it = c1.iterator();//迭代器,集合的专用遍历方式
        while (it.hasNext()){
            Student s = (Student) it.next();
            System.out.println("姓名:"+s.getName()+"\t 年龄:"+s.getAge());
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43860260/article/details/91461433