Java 集合 01 介绍Java集合 和 Collection

本文介绍了Java集合框架,包括Collection、List、Set和Map接口。重点讲解了Collection接口及其常用方法,如add、remove、contains等,并通过ArrayList示例展示了这些方法的使用。集合相较于数组的优势在于其动态容量调整和便捷的操作接口,使得数据管理更为高效。
摘要由CSDN通过智能技术生成

1.1 介绍Java集合 和 Collection


1.1.1 Java 集合 需要学哪些


首先 你要清楚到 Java 集合 分为 哪几个 部分。

① 集合框架体系
② Collection
③ Map
④ Collections

  • Collection 就包含 两个大类:List 和 Set

List:有 ArrayList、LinkedList、Vector

Set:有 HashSet、LinkedHashSet、TreeSet

  • Map

Map:有 HashMap、Hashtable、LinkedHashMap、TreeMap、Properties 这个 还是 挺重要的,而且 是个人 就会!!

  • Collections 属于 工具类,也是个 必学的项!

1.1.2 集合的理解 和 好处

我们 通常 再没学习过 集合 之前 都是 用 数组来进行 数据的保存的。比如说 我们 之前 在 写 smbms Web 项目的时候,封装 的 excute() 方法 参数那里 用的就是 Object 数组。

  • 数组
    ① 长度开始 时 必须是 指定的,而且一旦 指定 还不能 修改。
    ② 保存 的 必须 为 同一 类型的 元素。
    ③ 使用 数组 进行 增加 元素 的 示意 代码 - 比较麻烦。

比如说,写出 Person 数组 扩容的代码,就很麻烦!其中一个 释放内存的 点 就很无语。我们是可以 实现的,但是 我们 知道 Java 的释放内存 是 JVM 的 GC 回收线程 自己判断进行回收的。让我们 觉得 很无力。

Person[] pers = new Person[1];
Person[] pers2 = new Person[2];
for(int i = 0;i < pers.length; ++i){
	pers2[i] = pers[i];
}// 或者 你直接 用 System.arraycopy(); 进行一个 拷贝 也是可以的。
pers = pers2;// 让 pers 指针 指向 pers2 就行了。以后操作 pers 就是操作 pers2了。
  • 集合
    ① 可以 动态保存 任意 多个对象,使用 比较方便
    ② 提供了 一系列 方便的 操作 对象 的方法,比如 add、remove、set、get 等等等,这样 让我们 增删改查、甚至移动、做特殊处理,都 更加的方便!
    ③ 使用集合 调用一些方法就可以实现 某些功能 效果,使得 代码更加的 简洁明了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


2.1 Collection


2.1.1 Collection 接口 和 常用方法

Collection 接口 常用方法,以实现 子类 ArrayList 来演示。CollectionMethod.java

add 添加单个 元素
remove 删除指定元素
contains 查找元素 是否存在
size 获取元素个数
isEmpty 判断 是否为空
clear 清空
addAll 添加 多个 元素
containsAll 查找 多个元素 是否都存在
removeAll 删除多个元素
⑩ 说明:以 ArrayList 实现 类 演示。

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

public class Collectiion_ {
    public static void main(String[] args) {
        // 1. 集合 主要分为 两组(单列集合<单个对象>,双列集合<键值对>)
        // 2. Collection 接口 有两个重要的子接口(List、Set)
        // 3. List 和 Set 就是 单列集合,属于 单个单个元素的 存放
        // 4. Map 就是 双列集合 一般 以 键值对的 形式 存放数据的
        // 5. 大概率情况下,是必须要 记住 集合的 体系图的

        List list = new ArrayList();

        list.add("jack");
        list.add(10);
        list.add(true);

        System.out.println("list=" + list);

        list.remove("jack");// 删除 指定元素

        System.out.println("list=" + list);

        list.remove(0);
        System.out.println("list=" + list);

        System.out.println(list.contains("jack"));

        System.out.println(list.size());

        System.out.println(list.isEmpty());

        list.clear();
        System.out.println("list=" + list);

        List l2 = new ArrayList();
        System.out.println(l2.isEmpty());
        l2.addAll(list);
        System.out.println(l2.containsAll(list));

    }
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值