当前位置: 首页 > news >正文

Java基础:集合List、Map、Set(超详细版)

集合体系概述

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

Collection常用方法

在这里插入图片描述
补充:addAll()

Collection的遍历方式

迭代器

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

增强for(空集合可以,null不可以)

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

lambda

在这里插入图片描述

集合对象存储对象原理

在这里插入图片描述

遍历方式的区别

在这里插入图片描述

List集合

特点、特有方法

在这里插入图片描述

遍历方式

(同上)

ArrayList底层原理

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

LinkedList底层原理

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

手写链表

/**
 * 手写链表
 */
public class MyLinkedList<E> {

    private int size = 0;
    Node<E> first;

    public static class Node<E> {
        E item;
        Node<E> next;
        public Node(E item, Node<E> next){
            this.item = item;
            this.next = next;
        }
    }

    public boolean add(E e) {
        Node<E> newNode = new Node<>(e, null);

        if(first == null) {
            first = newNode;
        } else {
            Node<E> temp = first;
            while(temp.next != null) {
                temp = temp.next;
            }
            temp.next = newNode;
        }

        size++;

        return true;
    }


    @Override
    public String toString() {
        StringJoiner s = new StringJoiner(",", "[", "]");
        Node<E> temp = first;
        while(temp != null) {
            s.add(temp.item + "");
            temp = temp.next;
        }
        return s.toString();
    }

    public int size(){
        return size;
    }

}

class Test {
    public static void main(String[] args) {
        MyLinkedList<String> list = new MyLinkedList<>();
        list.add("1号客人");
        list.add("2号客人");
        list.add("3号客人");
        list.add("4号客人");

        System.out.println(list);
    }
}

Set集合

特点

在这里插入图片描述

HashSet底层原理

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

了接下数据结构(树)

在这里插入图片描述
查询性能提高:排序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

去重机制

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

LinkedHashSet底层原理-有序

在这里插入图片描述

TreeSet底层原理-排序

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

*优先选择

在这里插入图片描述

Map集合

概述

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

常用方法

在这里插入图片描述

遍历方法

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

HashMap-原理

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

LinkedHashMap-原理

在这里插入图片描述

TreeMap-原理

在这里插入图片描述

http://www.dtcms.com/a/129068.html

相关文章:

  • 电子处方+在线问诊系统源码:打造智能诊疗闭环“黄金搭档”方案
  • KingbaseES JSON全解析:记录操作与高级表格处理
  • 机器学习 第一章
  • SSM废品买卖回收管理系统的设计与实现
  • Java中的wait( )和sleep( )方法的区别
  • AI大模型技术之RAG、模型微调、知识蒸馏
  • 从零搭建微服务项目Pro(第0章——微服务项目脚手架搭建)
  • 【langchain4j系列教程-05】一文读懂:人工智能如何实现会话记忆
  • 基于EfficientNet的自闭症诊断辅助系统揭秘
  • Maven工具学习使用(十)——生成项目站点
  • Python及C++中的字典
  • 【玩泰山派】5、点灯,驱动led-(2)ubuntu18.04 升级python3.6到python3.7,安装pip3
  • 20250408在荣品的PRO-RK3566开发板使用Rockchip原厂的buildroot系统时拿掉经常出现的list-iodomain.sh警告信息
  • 58-使用wordpress快速创建个人网站
  • Go小技巧易错点100例(二十六)
  • SpringBoot项目:部门管理系统
  • 防爆平板:石油化工厂智慧转型的“中枢神经”
  • BANK OF CHINA(HONG KONG)网点
  • Spring Bean 的生命周期
  • Tiny Cluster(1)——搭建树莓派小型计算集群
  • 【C++初学】C++核心编程技术详解(三):多态与文件操作
  • 重构艺术 | 如何优雅地“提炼函数“
  • 并查集(Java模板及优化点解析)
  • Java IO精讲:从传统IO到NIO的深度探索
  • Selenium之Actions事件
  • 达梦数据库-学习-18-ODBC数据源配置(Linux)
  • CCF CSP 第35次(2024.09)(2_字符串变换_C++)(哈希表+getline)
  • java常见线程安全实现方案
  • 05-RabbitMQ 面试题-mk
  • 电感、互感器、变压器和磁珠综合对比——《器件手册--电感/线圈/变压器/磁珠篇》