Java集合框架

Java集合框架中接口,之间的关系及其含义
数据结构:他是组织数据的一种方式,因为组织数据的方式不同,导致了有不同的数据结构。

Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes 。
其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索retrieve 、管理 manipulate ,即平时我们俗称的增删查改 CRUD 。例如,一副扑克牌(一组牌的集合)、一个邮箱(一组邮件的集合)、一个通讯录(一组姓名和电话的映射关系)等等。
在这里插入图片描述
2 了解接口和接口之间的关系,以及接口和类之间的关系
首先了解接口是什么:里面的方法没有具体的功能
接口——接口(extends 但不是继承,是扩展)
接口——类(抽象类)(implements)
简单了解接口
在这里插入图片描述
(1)Iterable:只要实现了这个接口,我们都可以使用迭代器进行遍历集合
(2)Queue:队列,先进先出
(3)Deque:双端队列
(4)SoretedSet:一组有序的不重复的集合
(5)ArrayList:可以当作顺序表,底层是一个动态的数组
(6)LinkedList:因为linkedList实现了List接口,所以不仅可以当作链表,也可以被当作队列(双端队列)。但是底层是一个双向链表
(7)Stack:栈,先进后出,底层仍然是一个动态数组
(8)PriorityQueue:优先级队列,底层是一个二叉搜索树
(9)HashSet:不能存储相同的元素,底层是一个哈希表
(10)TreeSet:底层是一个二叉搜索树
(11)HashMap:哈希表的增删查改的时间复杂度是O(1),底层是一个二叉搜索树(红黑树)
(12)TreeMap:底层也是一个二叉搜索树
#Java 集合框架的优点及作用
1>使用成熟的集合框架,有助于我们便捷、快速的写出高效、稳定的代码
2>学习背后的数据结构知识,有助于我们理解各个集合的优缺点及使用场景

3基本关系说明
在这里插入图片描述
connection:用来存储管理一组对象 objects ,这些对象一般被成为元素 elements。
Set :元素不能重复,背后隐含着查找/搜索的语义。
SortedSet : 一组有序的不能重复的元素
List : 线性结构
Queue : 队列
Deque : 双端队列
Map : 键值对 Key-Value-Pair ,背后隐含着查找/搜索的语义 SortedMap
一组有序的键值对
##Collection接口说明
常用方法说明
在这里插入图片描述
Map常用方法说明
在这里插入图片描述
Map示例

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class TestDemo1 {
    public static void main(String[] args) {
        Map<String,String> map = new HashMap<>();
        map.put("黑旋风","李逵");
        map.put("豹子头","林冲");
        map.put("青面兽","杨志");
        map.put("及时雨","宋江");
        System.out.println(map);
        String s = map.get("黑旋风");
        System.out.println(s);
        String s1 = map.getOrDefault("黑旋风1","李逵");
        System.out.println(s1);
        System.out.println(map.containsKey("黑旋风"));
        System.out.println("===========================");
        System.out.println(map.isEmpty());
        int a = map.size();
        System.out.println(a);
        Set<Map.Entry<String,String>> mapSet = map.entrySet();
        System.out.println(mapSet);
        map.remove("黑旋风");
        for (Map.Entry<String,String> mapset:map.entrySet()
             ) {
            System.out.println(mapset.getKey()+" "+mapset.getValue());
        }
    }
}

实现classes
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值