【Java集合中各种数据结构的方法汇总】

文章目录

  • Java集合中各种数据结构的方法汇总
  • [数组 ArrayList 、LinkedList](#数组 ArrayList 、LinkedList)
  • [链表 LinkedList](#链表 LinkedList)
  • [栈 Stack](#栈 Stack)
  • [队列 ArrayQueue、LinkedList](#队列 ArrayQueue、LinkedList)
  • [哈希表 HashMap](#哈希表 HashMap)
  • [堆 PriorityQueue](#堆 PriorityQueue)

Java集合中各种数据结构的方法汇总

获取大小:fun.size();

判断是否为空:fun.isEmpty();

数组 ArrayList 、LinkedList

增加:add(int index, E element)

删除:remove(int index) remove(Object o)

修改:set(int index, E element)

查看:get(int index)

链表 LinkedList

增加:addFirst(E e)addLast(E e)offer(E e)offerFirst(E e)offerLast(E e)

删除:poll()pollFirst()pollLast()(<---推荐使用,JDK1.6以后新出的方法,提高代码的健壮性) removeFirst()removeLast()

查看:element()getFirst()getLast()indexOf(Object o)lastIndexOf(Object o)peek()peekFirst()peekLast()

栈 Stack

入栈:stack.push(value)

出栈:stack.pop()

获取栈顶元素:stack.peek()

队列 ArrayQueue、LinkedList

入队:queue.add(); queue.addLast(); queue.offer(); queue.offerLast();

出队:queue.poll; queue.pollFirst(); queue.remove(); queue.removeFirst();

获取队头元素:queue.peek(); queue.peekFirst(); queue.getFirst();

获取队尾元素:queue.peekLast(); queue.getLast();

哈希表 HashMap

添加:map.put(key, value);

获取值:map.get(key)

移除:map.remove(key);

判断键是否存在:map.containsKey(key);

获取键的集合:Set<T> keySet = map.keySet();

获取键值对的集合:Set<Map.Entry<T,T>> entries = map.entrySet();

堆 PriorityQueue

小顶堆的创建:Queue<T> heap = new PriorityQueue<>();

大顶堆的创建:Queue<T> heap = new PriorityQueue<>((o1, o2) -> (o2 - o1));

添加元素:heap.add(); heap.offer();

删除堆顶元素:heap.poll(); heap.remove();

获取堆顶元素:heap.peek(); heap.element();

判断是否包含指定元素:heap.contains(value);

相关推荐
想学习java初学者27 分钟前
SpringBoot整合Vertx-Mqtt多租户(优化版)
java·spring boot·后端
AC赳赳老秦42 分钟前
政企内网落地:OpenClaw 离线环境深度适配方案,无外网场景下本地化模型对接与全功能使用
java·大数据·运维·python·自动化·deepseek·openclaw
weixin_449173651 小时前
在 Java 中,‌线程安全的 List‌ 主要有以下几种实现方式,它们的效率取决于具体的使用场景(尤其是读写比例):
java·线程安全的list
砚底藏山河1 小时前
股票数据API接口:如何获取股票历历史分时KDJ数据
java·python·maven
炸膛坦客2 小时前
嵌入式 - 数据结构与算法:(1-7)数据结构 - 顺序表和链表的对比
数据结构·链表
MegaDataFlowers2 小时前
运行若依项目
java
lulu12165440783 小时前
JetBrains IDE 终极AI编程方案:CC GUI插件让Claude Code和Codex丝滑运行
java·ide·人工智能·python·ai编程
('-')3 小时前
八股复习2:Java Array list和Linked list
java·开发语言
逸Y 仙X3 小时前
Elasticsearch时间类型实战
java·大数据·elasticsearch·搜索引擎·全文检索
hoiii1874 小时前
基于栅格法的机器人工作空间划分系统
数据结构·机器人