【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);

相关推荐
Dream Algorithm1 小时前
CT、IT、ICT 和 DICT区别
经验分享·信息与通信
武子康2 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
爱装代码的小瓶子3 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构
YuTaoShao4 小时前
【LeetCode 热题 100】131. 分割回文串——回溯
java·算法·leetcode·深度优先
源码_V_saaskw5 小时前
JAVA图文短视频交友+自营商城系统源码支持小程序+Android+IOS+H5
java·微信小程序·小程序·uni-app·音视频·交友
超浪的晨5 小时前
Java UDP 通信详解:从基础到实战,彻底掌握无连接网络编程
java·开发语言·后端·学习·个人开发
双力臂4045 小时前
Spring Boot 单元测试进阶:JUnit5 + Mock测试与切片测试实战及覆盖率报告生成
java·spring boot·后端·单元测试
Edingbrugh.南空6 小时前
Aerospike与Redis深度对比:从架构到性能的全方位解析
java·开发语言·spring
QQ_4376643146 小时前
C++11 右值引用 Lambda 表达式
java·开发语言·c++
永卿0016 小时前
设计模式-迭代器模式
java·设计模式·迭代器模式