首页 > 编程语言 >Java_8 常用容器

Java_8 常用容器

时间:2024-02-20 19:22:22浏览次数:39  
标签:返回 容器 常用 Java 为空 元素 util key java

title:(在线学习平台) link:(https://www.acwing.com/) cover:(https://cdn.acwing.com/media/activity/surface/log.png)

8.1 List

接口:java.util.List<>

实现:

  • java.util.ArrayList<>:变长数组
  • java.util.LinkedList<>:双链表

函数:

  • add():在末尾添加一个元素
  • clear():清空
  • size():返回长度
  • isEmpty():是否为空
  • get(i):获取第i个元素
  • set(i, val):将第i个元素设置为val

image

8.2 栈

类:java.util.Stack<>

函数:

  • push():压入元素
  • pop():弹出栈顶元素,并返回栈顶元素
  • peek():返回栈顶元素
  • size():返回长度
  • empty():栈是否为空
  • clear():清空

image

8.3 队列

接口:java.util.Queue<>

实现:

  • java.util.LinkedList<>:双链表
  • java.util.PriorityQueue<>:优先队列
    • 默认是小根堆,大根堆写法:new PriorityQueue<>(Collections.reverseOrder())
      image

image
image

函数:

  • add():在队尾添加元素
  • remove():删除并返回队头
  • isEmpty():是否为空
  • size():返回长度
  • peek():返回队头
  • clear():清空

image

8.4 Set

接口:java.util.Set<K>

实现:

  • java.util.HashSet<K>:哈希表
  • java.util.TreeSet<K>:平衡树

函数:

  • add():添加元素
  • contains():是否包含某个元素
  • remove():删除元素
  • size():返回元素数
  • isEmpty():是否为空
  • clear():清空

image
image
image
image

java.util.TreeSet多的函数:

  • ceiling(key):返回大于等于key的最小元素,不存在则返回null
  • floor(key):返回小于等于key的最大元素,不存在则返回null

image
image
image

8.5 Map

接口:java.util.Map<K, V>

实现:

  • java.util.HashMap<K, V>:哈希表
  • java.util.TreeMap<K, V>:平衡树

函数:
put(key, value):添加关键字和其对应的值
get(key):返回关键字对应的值
containsKey(key):是否包含关键字
remove(key):删除关键字
size():返回元素数
isEmpty():是否为空
clear():清空
entrySet():获取Map中的所有对象的集合
Map.Entry<K, V>:Map中的对象类型
getKey():获取关键字
getValue():获取值

image
image

java.util.TreeMap<K, V>多的函数:

  • ceilingEntry(key):返回大于等于key的最小元素,不存在则返回null
  • floorEntry(key):返回小于等于key的最大元素,不存在则返回null

image

标签:返回,容器,常用,Java,为空,元素,util,key,java
From: https://www.cnblogs.com/jia-ming/p/18023874

相关文章

  • Java项目,营销抽奖系统设计实现
    作者:小傅哥博客:https://bugstack.cn项目:https://gaga.plus沉淀、分享、成长,让自己和他人都能有所收获!......
  • javac不报错但不生成文件
    使用场景:在命令行cmd使用命令javac、java运行java程序,结果报错“错误:找不到或无法加载主类”后来发现javac虽然没有报错但是也没有生成对应的class文件解决方案:https://blog.csdn.net/qq_41999034/article/details/111604649我将环境变量放到最上面之后重启,发现在cmd中运行jav......
  • 熟悉又陌生的JavaWeb 第1天
    传送门JavaWeb开发环境配置简单项目,其实我更推荐pom引入Jetty的方式B/S结构B-BrowserS-ServerWeb编程语言CGI、PHP、JSP、ASP服务器安装IDE安装第一个Web项目推荐自己手动建立webapp目录,从空项目建立webapp关于创建webapp项目理想中的默认方式IDEA创建Webapp......
  • Java 21 虚拟线程如何限流控制吞吐量
    虚拟线程(VirtualThreads)是Java21所有新特性中最为吸引人的内容,它可以大大来简化和增强Java应用的并发性。但是,随着这些变化而来的是如何最好地管理此吞吐量的问题。本文,就让我们看一下开发人员在使用虚拟线程时,应该如何管理吞吐量。在大多数情况下,开发人员不需要自己创建虚拟......
  • Caused by: java.lang.ClassNotFoundException: com.qcloud.cos.auth. 类找不到异常
    java.lang.ClassNotFoundException 表示在运行时找不到指定的类。在这种情况下,缺少了 com.qcloud.cos.auth 包中的类。请确保项目中包含了腾讯云 COS SDK 相关的依赖,并且这些依赖能够正确加载。检查项目的依赖配置,确保包含了腾讯云 COS SDK 相关的依赖。 腾讯云contr......
  • win10上安装nacos容器报端口被占用
    错误如下图排查过程1、检查8848端口是否被占用netstat-ano|findstr9091结论:没有2、经过google搜索Hyper-V会保留部分TCP端口,而windows上想要运行dockerdesktop,必须开启Hyper-V服务netshinterfaceipv4showexcludedportrangeprotocol=tcp命令查询结果,8848在排......
  • .Net Core框架容器依赖注入的生命周期
    一.前言框架中依赖注入容器包括了三种生命周期,Singleton、Scoped和Transient。Singleton是全局实例,它存储到根容器上,从任何容器解析都会得到全局唯一的实例。Transient是瞬时实例,它不会存储到容器上,从任何容器解析都会重新实例化一个新的对象。Scoped是域内实......
  • Java类加载机制和执行顺序
    下面代码运行结果为——点击查看代码packagecom.itcq.d5;publicclassApp{publicstaticvoidmain(String[]args){newB();}}classA{static{System.out.println("Static-A执行了~~~");}{System.out.printl......
  • 【Java】java线程的六种状态
          一、新建状态(NEW)即用new关键字新建一个线程,这个线程就处于新建状态。二、运行状态(RUNNABLE)操作系统中的就绪和运行两种状态,在Java中统称为RUNNABLE。 就绪状态(READY)当线程对象调用了start()方法之后,线程处于就绪状态,就绪意味着该线程......
  • 使用Java将视频中某一帧抽取为封面图片
    由于业务需求需将视频中的某帧进行截取作为该视频封面,网上太多教程过于复杂麻烦,经本人研究发现可以使用Java调用FFmpeg来进行处理。/***获取指定的视频文件后进行封面截图为png并保存到指定目录**@paramvideoFile视频媒体文件*@paramfileName文件名*/publicS......