java 集合框架及背后的数据结构(简介)

1. 介绍

官方教程: Collections
Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口interfaces 和其实现类 classes 。其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索retrieve 、管理 manipulate ,即平时我们俗称的增删查改查 。
例如,一副扑克牌(一组牌的集合)、一个邮箱(一组邮件的集合)、一个通讯录(一组姓名和电话的映射关系)等等。

类和接口总览
在这里插入图片描述

Java 集合框架的优点及作用
使用成熟的集合框架,有助于我们便捷、快速的写出高效、稳定的代码
学习背后的数据结构知识,有助于我们理解各个集合的优缺点及使用场景

2. 接口 interfaces

2.1 基本关系

  • Collection :用来存储管理一组对象 objects ,这些对象一般被成为元素 elements
    • Set : 元素不能重复,背后隐含着查找/搜索的语义
      • SortedSet : 一组有序的不能重复的元素
    • List : 线性结构
      • Queue : 队列
      • Deque : 双端队列
    • Map : 键值对 Key-Value-Pair ,背后隐含着查找/搜索的语义
      • SortedMap : 一组有序的键值对
2.2 Collection 官方接口说明

链接: Collection

2.3 Collection 常用方法说明

在这里插入图片描述

2.4 Collection 示例
import java.util.Collection;
import java.util.ArrayList;
import java.util.Arrays;
public class Demo {
    public static void main(String[] args) {
        Collection<String> list = new ArrayList<>();
        System.out.println(list.size());
        System.out.println(list.isEmpty());
        list.add("我");
        list.add("爱");
        list.add("Java");
        System.out.println(list.size());
        System.out.println(list.isEmpty());
        Object[] array = list.toArray();
        System.out.println(Arrays.toString(array));
        for (String s : list) {
            System.out.println(s);
        }
        list.remove("爱");
        for (String s : list) {
            System.out.println(s);
        }
        list.clear();
        System.out.println(list.size());
        System.out.println(list.isEmpty());
    }
}
*******运行结果*******
0
true
3
false
[,, Java]
我
爱
Java
我
Java
0
true
2.5 Map 接口说明

链接: Map官方文档

2.6 Map 常用方法说明

2.7 Map 示例
import java.util.Map;
import java.util.HashMap;
public class Demo {
    public static void main(String[] args) {
        Map <String, String> map = new HashMap<>();
        System.out.println(map.size());
        System.out.println(map.isEmpty());
        System.out.println(map.get("作者"));
        System.out.println(map.getOrDefault("作者", "佚名"));
        System.out.println(map.containsKey("作者"));
        System.out.println(map.containsValue("佚名"));
        map.put("作者", "鲁迅");
        map.put("标题", "狂人日记");
        map.put("发表时间", "1918年");
        System.out.println(map.size());
        System.out.println(map.isEmpty());
        System.out.println(map.get("作者"));
        System.out.println(map.getOrDefault("作者", "佚名"));
        System.out.println(map.containsKey("作者"));
        System.out.println(map.containsValue("佚名"));
        for (Map.Entry<String, String> entry : map.entrySet()) {
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
        }
    }
}
*******运行结果*******
0
true
null
佚名
false
false
3
false
鲁迅
鲁迅
true
false
作者
鲁迅
发表时间
1918年
标题
狂人日记

3.实现 classes

在这里插入图片描述

附:4 学习知识点

集合框架的使用
1.Collection
2.List
3.ArrayList
4.LinkedList
5.Stack
6.Queue
7.PriorityQueue
8.Deque
9.Set
10.HashSet
11.TreeSet
12.Map
13.HashMap
14.TreeMap
15.Collections
数据结构的理论及实现
1.顺序表
2.链表
3.栈
4.队列
5.二叉树
6.堆
排序算法
1.插入排序
2.希尔排序
3.选择排序
4.堆排序
5.冒泡排序
6.快速排序
7.归并排序
Java 语法
1.泛型 Generic
2.自动装箱 autobox 和自动拆箱 autounbox
3.Object 的 equals 方法
4.Comparable 和 Comparator 接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值