014-Collection集合

1.Collection集合

1.1集合体系结构【记忆】

  • 集合类的特点

    提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变

  • 集合类的体系图

    01

1.2Collection集合概述和基本使用【应用】

  • Collection集合概述

    • 是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素

    • JDK 不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现

  • Collection集合基本使用

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class CollectionDemo01 {
    public static void main(String[] args) {
    //创建Collection集合的对象
    Collection<String> c = new ArrayList<String>();

    //添加元素:boolean add(E e)
    c.add("hello");
    c.add("world");
    c.add("java");

    //输出集合对象
    System.out.println(c);
    }
    }

1.3Collection集合的常用方法【应用】

方法名 说明
boolean add(E e) 添加元素
boolean remove(Object o) 从集合中移除指定的元素
void clear() 清空集合中的元素
boolean contains(Object o) 判断集合中是否存在指定的元素
boolean isEmpty() 判断集合是否为空
int size() 集合的长度,也就是集合中元素的个数

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class CollectionDemo02 {
public static void main(String[] args) {
//创建集合对象
Collection<String> c = new ArrayList<String>();

//boolean add(E e):添加元素
// System.out.println(c.add("hello"));
// System.out.println(c.add("world"));
// System.out.println(c.add("world"));
c.add("hello");
c.add("world");
c.add("java");

//boolean remove(Object o):从集合中移除指定的元素
// System.out.println(c.remove("world"));
// System.out.println(c.remove("javaee"));

//void clear():清空集合中的元素
// c.clear();

//boolean contains(Object o):判断集合中是否存在指定的元素
// System.out.println(c.contains("world"));
// System.out.println(c.contains("javaee"));

//boolean isEmpty():判断集合是否为空
// System.out.println(c.isEmpty());

//int size():集合的长度,也就是集合中元素的个数
System.out.println(c.size());

//输出集合对象
System.out.println(c);
}
}

1.4Collection集合的遍历【应用】

  • 迭代器的介绍

    • 迭代器,集合的专用遍历方式
    • Iterator iterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到
    • 迭代器是通过集合的iterator()方法得到的,所以我们说它是依赖于集合而存在的
  • 迭代器的常用方法

    • E next() 返回迭代器中的下一个元素
    • boolean hasNext() 如果迭代器中有更多的元素,返回true,否则返回false
  • Collection集合的遍历

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class IteratorDemo {
public static void main(String[] args) {
//创建集合对象
Collection<String> c = new ArrayList<>();

//添加元素
c.add("hello");
c.add("world");
c.add("java");
c.add("javaee");

//Iterator<E> iterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到
Iterator<String> it = c.iterator();

//用while循环改进元素的判断和获取
while (it.hasNext()) {
String s = it.next();
System.out.println(s);
}
}
}

1.5集合使用步骤图解【理解】

  • 使用步骤

02

1.6集合的案例-Collection集合存储学生对象并遍历【应用】

  • 案例需求

    创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合

  • 代码实现

    • 学生类
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    public class Student {
    private String name;
    private int age;

    public Student() {
    }

    public Student(String name, int age) {
    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;
    }
    }
    • 测试类
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    public class CollectionDemo {
    public static void main(String[] args) {
    //创建Collection集合对象
    Collection<Student> c = new ArrayList<Student>();

    //创建学生对象
    Student s1 = new Student("林青霞", 30);
    Student s2 = new Student("张曼玉", 35);
    Student s3 = new Student("王祖贤", 33);

    //把学生添加到集合
    c.add(s1);
    c.add(s2);
    c.add(s3);

    //遍历集合(迭代器方式)
    Iterator<Student> it = c.iterator();
    while (it.hasNext()) {
    Student s = it.next();
    System.out.println(s.getName() + "," + s.getAge());
    }
    }
    }

3.数据结构

数据结构式计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合

3.1数据结构之栈和队列【记忆】

  • 栈结构

    先进后出

  • 队列结构

    先进先出

3.2数据结构之数组和链表【记忆】

  • 数组结构

    查询快、增删慢

  • 队列结构

    查询慢、增删快


014-Collection集合
https://flepeng.github.io/021-Java-01-course-014-Collection集合/
作者
Lepeng
发布于
2020年2月2日
许可协议