Leetcode中最常用的Java API——util包

前言:在刷力扣的时候是核心代码模式,笔试的时候很可能是ACM模式,需要自己完成导包、定义和自行设计输出,所以一些常用的类和方法需要先导入相应的API包,java.util就是最常用到的包,因为它包含集合这个大框架,常见的java数据结构都离不开它,本文大致描述一下这个的基本结构和常用方法~

java.util
│
├── Arrays
│   ├── asList(T... a): 返回由指定数组支持的固定大小的列表。
│   │   Example: List<String> list = Arrays.asList("Java", "Python", "C++");
│   │   作用:创建一个包含指定元素的字符串列表。
│   ├── sort(T[] a): 对数组进行排序。
│   │   Example: Arrays.sort(new int[]{3, 1, 4, 1, 5, 9});
│   │   作用:对一个整数数组进行升序排序。
│   └── binarySearch(T[] a, T key): 在已排序的数组中使用二分查找算法查找元素。
│       Example: int index = Arrays.binarySearch(new int[]{1, 2, 3, 4, 5}, 3);
│       作用:在已排序的整数数组中查找元素3的索引。
│
├── Comparator
│   ├── comparing(ToComparatorFunction<? super T> keyExtractor): 构造比较器。
│   │   Example: Comparator<Person> byAge = Comparator.comparing(Person::getAge);
│   │   作用:根据Person对象的age属性构造一个比较器。
│   ├── naturalOrder(): 返回自然顺序的比较器。
│   │   Example: List<Integer> numbers = Arrays.asList(3, 1, 4, 1, 5, 9);
│   │             numbers.sort(Comparator.naturalOrder());
│   │   作用:对一个Integer列表进行自然顺序排序。
│   └── reverseOrder(): 返回反转顺序的比较器。
│       Example: List<String> fruits = Arrays.asList("Apple", "Banana", "Cherry");
│                 fruits.sort(Comparator.reverseOrder());
│       作用:对一个字符串列表进行逆序排序。
│
├── Collection <Interface>
│   ├── List <Interface>
│   │   ├── ArrayList: 基于动态数组实现的List。
│   │   │   ├── add(E e): 在列表末尾添加一个元素。
│   │   │   Example: ArrayList<String> list = new ArrayList<>();list.add("Kimi");
│   │   │   作用:在ArrayList末尾添加一个字符串元素。
│   │   │   └── get(int index): 返回指定索引处的元素。
│   │   │   Example: String element = list.get(0);
│   │   │   作用:获取ArrayList中索引为0的元素。
│   │   └── LinkedList: 基于双向链表实现的List。
│   │       ├── addFirst(E e): 在列表开头插入一个元素。
│   │       │   Example: LinkedList<Integer> list = new LinkedList<>(); list.addFirst(42);
│   │       │   作用:在LinkedList开头插入一个整数元素。
│   │       └── addLast(E e): 在列表末尾插入一个元素。
│   │           Example: list.addLast(24);
│   │           作用:在LinkedList末尾插入一个整数元素。
│   ├── Set <Interface>
│   │   ├── HashSet: 基于HashMap实现的Set。
│   │   │   └── add(E e): 添加一个元素,如果元素已存在,则返回false。
│   │   │   Example: HashSet<String> set = new HashSet<>(); set.add("Unique");
│   │   │   作用:向HashSet中添加一个字符串元素,如果已存在则不添加。
│   │   ├── LinkedHashSet: 维护元素插入顺序的Set。
│   │   └── TreeSet: 基于TreeMap实现的Set,元素处于排序状态。
│   │       Example: TreeSet<Integer> sortedSet = new TreeSet<>();sortedSet.add(3);
│   │       作用:向TreeSet中添加一个整数元素,元素将被排序。
│   └── Queue <Interface>
│       ├── PriorityQueue: 基于优先队列的Queue。
│       └── ArrayDeque: 基于双向链表实现的Deque。
│           Example: ArrayDeque<Integer> deque = new ArrayDeque<>(); deque.addFirst(1);
│           作用:在ArrayDeque开头插入一个整数元素。
│
├── Map <Interface>
│   ├── HashMap: 基于哈希表实现的Map。
│   │   ├── put(K key, V value): 将指定的值与此映射中的指定键关联。
│   │   Example: HashMap<String, Integer> map = new HashMap<>(); map.put("One", 1);
│   │   作用:在HashMap中将字符串键"One"与整数值1关联。
│   │   └── get(Object key): 返回指定键所映射的值。
│   │   Example: Integer value = map.get("One");
│   │   作用:从HashMap中获取键"One"所映射的值。
│   ├── LinkedHashMap: 维护元素插入或访问顺序的Map。
│   └── TreeMap: 基于红黑树实现的Map,键值按自然顺序或自定义顺序排序。
│       Example: TreeMap<Integer, String> sortedMap = new TreeMap<>(); sortedMap.put(2, "B");
│       作用:向TreeMap中添加一个键值对,元素将按自然顺序排序。
│
└── Collections├── sort(List<T> list): 对列表进行排序。|   Example: List<Integer> numbers = Arrays.asList(3, 1, 4, 1, 5, 9);|              Collections.sort(numbers);|   作用:对一个Integer列表进行排序。├── swap(List<?> list, int i, int j): 交换指定列表中指定位置的元素|   Example: Collections.swap(list, 0, 2); |   作用:交换索引0和索引2的list元素└── max(Collection<? extends T> coll): 返回集合中的最大元素。Example: Integer maxNumber = Collections.max(numbers);作用:返回一个Integer集合中的最大元素。

🏡个人主页:謬熙,欢迎各位大佬到访❤️❤️❤️~
👲个人简介:本人编程小白,正在学习互联网开发求职知识……
如果您觉得本文对您有帮助的话,记得点赞👍、收藏⭐️、评论💬,如果文章有什么需要改进的地方还请大佬不吝赐教🙏🙏🙏
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/494090.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM对象分配内存如何保证线程安全?

大家好&#xff0c;我是锋哥。今天分享关于【JVM对象分配内存如何保证线程安全&#xff1f;】面试题。希望对大家有帮助&#xff1b; JVM对象分配内存如何保证线程安全&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在JVM中&#xff0c;对象的内存分配…

前端使用 Konva 实现可视化设计器(20)- 性能优化、UI 美化

这一章主要分享一下使用 Konva 遇到的性能优化问题&#xff0c;并且介绍一下 UI 美化的思路。 至少有 2 位小伙伴积极反馈&#xff0c;发现本示例有明显的性能问题&#xff0c;一是内存溢出问题&#xff0c;二是卡顿的问题&#xff0c;在这里感谢大家的提醒。 请大家动动小手&a…

AIGC-------AI生成内容如何赋能AR和VR体验?

AI生成内容如何赋能AR和VR体验 引言 增强现实&#xff08;AR&#xff09;和虚拟现实&#xff08;VR&#xff09;技术近年来蓬勃发展&#xff0c;为用户提供了沉浸式的体验。这些技术已经广泛应用于游戏、教育、医疗、建筑等领域。然而&#xff0c;AR和VR体验的质量与内容的丰富…

VLM--CLIP作分类任务的损失函数

info_nce_loss 这个是clip作对比学习的损失函数 各个博客上都有详细介绍了&#xff0c;我这里就不赘述 def info_nce_loss(image_features, text_features,logit_scale,labels, temperature0.07):batch_size image_features.shape[0]image_features image_features / image…

【模型压缩】原理及实例

在移动智能终端品类越发多样的时代&#xff0c;为了让模型可以顺利部署在算力和存储空间都受限的移动终端&#xff0c;对模型进行压缩尤为重要。模型压缩&#xff08;model compression&#xff09;可以降低神经网络参数量&#xff0c;减少延迟时间&#xff0c;从而实现提高神经…

leetcode-128.最长连续序列-day14

为什么我感觉上述代码时间复杂度接近O(2n), 虽然有while循环&#xff0c;但是前面有个if判断&#xff0c;能进入while循环的也不多&#xff0c;while循环就相当于两个for循环&#xff0c;但不是嵌套类型的&#xff1a; 变量作用域问题&#xff1a;

Burp与其他安全工具联动及代理设置教程

Burp Suite 是一款功能强大的 Web 安全测试工具&#xff0c;其流量拦截和调试功能可以与其他安全工具&#xff08;如 Xray、Yakit、Goby 等&#xff09;实现联动&#xff0c;从而提升渗透测试的效率。本文将详细讲解 Burp 与其他工具联动的原理以及代理设置的操作方法&#xff…

文件操作(File类)

目录 一、初识文件 二、File类 常用方法 一、初识文件 我们目前是如何存储数据的?弊端是什么? int a 1; int[] arr new int[5];我们这些数据是在内存中存储的&#xff0c;是不能够长久保存的。 那么&#xff0c;我们的计算机当中有没有一块硬件可以长久存储数据的? 磁…

Ubuntu硬盘分区及挂载(命令行)

文章目录 一、简介二、硬盘分区三、格式化分区四、自动挂载分区五、调整分区大小小结 一、简介 创建磁盘分区首先需要找出Linux系统中的物理磁盘&#xff0c;在Linux中采用了一种标准格式来为硬盘分配设备名称。 SATA驱动器和SCSI驱动器&#xff1a;设备命名格式为/dev/sdx&a…

用java造1万条数据

上个月项目有造数需求记录一下。 package com.company;public class CreateSqlZhou {public static void main(String[] args) {//insert into Student (id,name,sex,age,adress) values(68881624120312320,zhangsan,男,18,北京);String startSql "insert into Student…

vue iframe进行父子页面通信并切换URL

需求是2个项目需要使用同一个面包屑进行跳转&#xff0c;其中一个是iframe所在的项目&#xff0c;另一个需要通过地址访问。通过 window.parent.postMessage &#xff0c;帮助 <iframe> 内嵌入的子页面和其父页面之间进行跨域通信。 使用通义千问提问后得到一个很好的示…

【Qt】显示类控件:QLabel、QLCDNumber、QProgressBar、QCalendarWidget

目录 QLabel QFrame 例子&#xff1a; textFormat pixmap、scaledContents alignment wordWrap、indent、margin buddy QLCDNumber 例子&#xff1a; QTimer QProgressBar 例子&#xff1a; QCalendarWidget 例子&#xff1a; QLabel 标签控件&#xff0c;用来显示…

UVM 验证方法学之interface学习系列文章(十二)virtual interface 终结篇

一 双向和三态问题 任何具有多个驱动器的信号,都需要使用网(net)来建模。网是唯一能够同时解决不同状态和强度驱动同一信号效果的构造。net的行为由内置解析函数定义,该函数使用net上所有驱动器的值和强度。每当其中一个驱动器发生变化时,就会调用该函数来生成解析值。该…

【游戏设计原理】22 - 石头剪刀布

一、游戏基础&#xff1a;拳头、掌心、分指 首先&#xff0c;石头剪刀布&#xff08;又名“Roshambo”&#xff09;看似简单&#xff0c;实际上可是个“深藏玄机”的零和博弈&#xff08;听起来很高深&#xff0c;其实就是输赢相抵消的意思&#xff09;。游戏中有三种手势&…

iterm2 focus时灰色蒙层出现的解决办法

问题描述&#xff1a; 当前我的iterm2版本是3.5.10&#xff0c;是我最近才更新的&#xff0c;然后就出现以下页面显示问题&#xff0c;如图所示&#xff1a; 我个人对终端、编辑器等使用存在洁癖&#xff0c;尤其是页面显示效果不满意更是不能忍受&#xff0c;之前找了很久没有…

如何在window 使用 conda 环境下载大模型

最近开始学习 变形金刚&#xff0c;最大的问题就是 huggingface 无法访问&#xff0c;无论是翻墙还是通过本地镜像网站HF-Mirror&#xff0c;然后再通过git下载都很慢&#xff0c;影响学习进度&#xff0c;后面看了如下文章&#xff0c;Huggingface配置镜像_huggingface镜像-CS…

Linux 网络维护相关命令简介

目录 零. 概要一. ping二. ip命令2.1 ip address2.2 ip route2.3 ip neighbour 三. traceroute四. DNS查询4.1 nslookup4.2 dig 五. ss 查看网络连接状态 零. 概要 ⏹在Linux系统中有2套用于网络管理的工具集 net-tools 早期网络管理的主要工具集&#xff0c;缺乏对 IPv6、网…

Liveweb视频融合共享平台在果园农场等项目中的视频监控系统搭建方案

一、背景介绍 在我国的大江南北遍布着各种各样的果园&#xff0c;针对这些地处偏僻的果园及农场等环境&#xff0c;较为传统的安全防范方式是建立围墙&#xff0c;但是仅靠围墙仍然无法阻挡不法分子的有意入侵和破坏&#xff0c;因此为了及时发现和处理一些难以察觉的问题&…

Ubuntu vi(vim)编辑器配置一键补全main函数

1.打开对应的配置文件 vi ~/.vim/snippets/c.snippets 2.按G将光标定位到文件末尾 3.按i进入插入模式 以tab键开头插入下的内容&#xff0c;空行也要加 tab键 4.:wq保存退出 5.再打开任意一个新的 .c文件后&#xff0c;插入模式输入 main 然后按tal键就能补全了

javaEE-线程的常用方法-4

目录 一.start():启动一个线程 调用start()方法 start()方法只能调用一次&#xff1a; java中的API: start()和run()的区别: 二.中断一个线程 中断线程方法1:引入标志位 中断线程方法2:调⽤interrupt()⽅法 抛出的异常: 三.等待一个线程 join() 四、获取线程引用 五…