【精通Java】集合类体系之Collection

简介: 【精通Java】集合类体系之Collection

集合🎉


1. Collection✨


1.1 集合知识回顾🦋


集合类的特点:提供一种储存空间可变的储存模型,存储的数据结构随地发生改变


1.2 集合类体系结构🐣



1.3 Collection 集合的概述和使用🦀



Collection 层次结构 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。


Collection 集合的概述


Collection 表示一组对象,这些对象也称为 collection 的元素。

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

创建Collection 集合对象


多态的形式

具体的实现类ArrayList


import java.util.ArrayList;
import java.util.Collection;
/*
创建Collection 集合对象
 - 多态的形式
 - 具体的实现类ArrayList
 */
public class CollectionDemo01 {
    public static void main(String[] args) {
        //创建collection对象、
        Collection<String> c = new ArrayList<String>();
        //添加元素: boolean add(E  e)
        c.add("hmm");
        c.add("20");
        c.add("大一");
        //输出集合对象
        System.out.println(c);//重写了to String方法
    }
}



1.4 Collection 集合常用方法🐬


方法名

说明

boolean add(E e)

确保此 collection 包含指定的元素(可选操作)。

boolean remove(Object o)

从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。

void clear()

移除此 collection 中的所有元素(可选操作)。

boolean contains(Object o)

如果此 collection 包含指定的元素,则返回 true。

boolean isEmpty()

如果此 collection 不包含元素,则返回 true。

int size()

返回此 collection 中的元素数。 集合长度


import java.util.ArrayList;
import java.util.Collection;
//boolean add(E e) |确保此 collection 包含指定的元素(可选操作)。
//  boolean remove(Object o) |从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
//   void clear() |移除此 collection 中的所有元素(可选操作)。
//   boolean contains(Object o) |如果此 collection 包含指定的元素,则返回 true。
// boolean isEmpty() |如果此 collection 不包含元素,则返回 true。
// int size() |返回此 collection 中的元素数。 集合长度
public class CollectionDemo02 {
    public static void main(String[] args) {
        //创建集合对象
        Collection<String> c = new ArrayList<String>();
        //boolean add(E e) |确保此 collection 包含指定的元素(可选操作)。
//        System.out.println(c.add("hmm"));
//        System.out.println(c.add("20"));
//        System.out.println(c.add("大一"));
        //调用c.add 方法返回都是true
        c.add("hello");
        c.add("world");
        c.add("java");
        //  boolean remove(Object o) |从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
        //System.out.println(c.remove("world"));
        //   void clear() |移除此 collection 中的所有元素(可选操作)。
       // c.clear();
        //   boolean contains(Object o) |如果此 collection 包含指定的元素,则返回 true。
        //System.out.println(c.contains("world"));
        //System.out.println(c.contains("hmm"));
        // boolean isEmpty() |如果此 collection 不包含元素,则返回 true。
        System.out.println(c.isEmpty());
         int size() |返回此 collection 中的元素数。 集合长度
        System.out.println(c.size());
        //输出集合对象
        System.out.println(c);
    }
}


1.5 Collection 集合的遍历🐷


Iterator:迭代器,集合的专用遍历方法

public interface Iterator

对 collection 进行迭代的迭代器。迭代器取代了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不同:


迭代器允许调用者利用定义良好的语义在迭代期间从迭代器所指向的


collection 移除元素。

方法名称得到了改进。

此接口是 Java Collections Framework 的成员。

Inerator中的常用方法


boolean hasNext() 如果仍有元素可以迭代,则返回 true。

E next() 返回迭代的下一个元素。

void remove() 从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。


import java.util.ArrayList;

import java.util.Collection;

import java.util.Iterator;


// -  boolean hasNext()    如果仍有元素可以迭代,则返回 true。
// - E next()  返回迭代的下一个元素。
//-  void remove()  从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。
public class CollectionDemo03 {
    public static void main(String[] args) {
        //创建集合对象
        Collection<String> c = new ArrayList<String>();
        //添加集合元素
        c.add("hello");
        c.add("world");
        c.add("java");
        //public interface Iterator<E>对 collection进行迭代的迭代器。
        Iterator<String> it = c.iterator();
        /*
        public Iterator<E> iterator() {
            return new ArrayList.Itr();
             private class Itr implements Iterator<E> {
             ...
             }
         */
        // - E next()  返回迭代的下一个元素。
//        System.out.println(it.next());
//        System.out.println(it.next());
//        System.out.println(it.next());
//        System.out.println(it.next());//.NoSuchElementException由 Enumeration 的 nextElement 方法抛出,表明枚举中没有更多的元素。
        // -  boolean hasNext()    如果仍有元素可以迭代,则返回 true。
//        if(it.hasNext()){
//            System.out.println(it.next());
//        }
        //用while循环改进
        while(it.hasNext()){
            System.out.println(it.next());
            String s = it.next();
            System.out.println(s);
        }
        //输出集合
        //System.out.println(c);
    }
}

1.6 集合的使用步骤🐯


1. 步骤1: 创建集合对象2. 步骤2:添加元素

步骤2.1:创建元素

步骤2.2:添加元素到集合 3. 步骤3:遍历集合

3.1:通过集合对象获取迭代器对象

3.2:通过迭代器对象的hasNext()方法判断是否还有元素

3.3:通过迭代器对象的next()方法获取下一个元素

目录
相关文章
|
3天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
28 3
|
1天前
|
安全 Java 程序员
|
1天前
|
存储 Java C++
Java集合篇之深度解析Queue,单端队列、双端队列、优先级队列、阻塞队列
Java集合篇之深度解析Queue,单端队列、双端队列、优先级队列、阻塞队列
8 0
|
1天前
|
Java
Java Class类
Java Class类
8 0
|
8天前
|
Java 编译器
Java Character 类
4月更文挑战第13天
|
9天前
|
存储 Java
Java基础教程(7)-Java中的面向对象和类
【4月更文挑战第7天】Java是面向对象编程(OOP)语言,强调将事务抽象成对象。面向对象与面向过程的区别在于,前者通过对象间的交互解决问题,后者按步骤顺序执行。类是对象的模板,对象是类的实例。创建类使用`class`关键字,对象通过`new`运算符动态分配内存。方法包括构造函数和一般方法,构造函数用于对象初始化,一般方法处理逻辑。方法可以有0个或多个参数,可变参数用`类型...`定义。`this`关键字用于访问当前对象的属性。
|
12天前
|
Java Shell
Java 21颠覆传统:未命名类与实例Main方法的编码变革
Java 21颠覆传统:未命名类与实例Main方法的编码变革
13 0
|
12天前
|
Java
Java 15 神秘登场:隐藏类解析未知领域
Java 15 神秘登场:隐藏类解析未知领域
16 0
|
12天前
|
存储 Java 编译器
Java集合丛林:深入了解集合框架的秘密
Java集合丛林:深入了解集合框架的秘密
15 0
Java集合丛林:深入了解集合框架的秘密
|
14天前
|
安全 Java
append在Java中是哪个类下的方法
append在Java中是哪个类下的方法
23 9