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

集合体系概述


Collection常用方法

补充:addAll()

Collection的遍历方式

迭代器


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


lambda

集合对象存储对象原理

遍历方式的区别

List集合

特点、特有方法

遍历方式

(同上)

ArrayList底层原理



LinkedList底层原理



手写链表

java 复制代码
/**
 * 手写链表
 */
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-原理

相关推荐
benbenAItalk4 小时前
数字人口播视频的批量生产实践:素材规范、任务编排与质量验收
java·前端·音视频
sunshine22 girl4 小时前
Java学习二 基本语法2, 算术运算符
java·学习
2601_966949654 小时前
为什么量化策略需要大量历史股票数据?从回测可信度理解数据规模
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
niucloud-admin4 小时前
JAVA V6 多商户商城 开发文档——插件目录结构
java·开发语言
2601_962885724 小时前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
滕州市燕猫虎计算机科技工作室个体工商户4 小时前
Java锁
java·开发语言
多加点辣也没关系5 小时前
JavaScript|第31章:表单与控件
开发语言·javascript·ecmascript
菜鸟~noob2335 小时前
【电子战】 第09篇:阵列信号处理——波束形成、MVDR、MUSIC【含matlab代码】
开发语言·matlab·信号处理
ocean21035 小时前
2025-2026年Python面试高频知识点洞察
开发语言·python·面试·python八股文
零依赖极客6 小时前
Day 6·1 ARMv8.2 dotprod——vdotq_s32 一条指令做 4 个点积
c语言·开发语言·人工智能·矩阵·arm·vllm