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集合中的最大元素。

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于文件流的图书管理系统(C/C++实现)

基于文件流的图书管理系统&#xff08;C/C实现&#xff09; 一、项目背景 在日常的图书馆管理中&#xff0c;图书的管理往往需要涉及到对图书数据的增删查改&#xff08;CRUD&#xff09;操作。为了更好地管理图书信息&#xff0c;我们可以利用C的文件流&#xff08;fstream&a…

方正畅享全媒体新闻采编系统 screen.do SQL注入漏洞复现(附脚本)

0x01 产品描述: 方正畅享全媒体新闻生产系统是以内容资产为核心的智能化融合媒体业务平台,融合了报、网、端、微、自媒体分发平台等全渠道内容。该平台由协调指挥调度、数据资源聚合、融合生产、全渠道发布、智能传播分析、融合考核等多个平台组成,贯穿新闻生产策、采、编、…

启动报错java.lang.NoClassDefFoundError: ch/qos/logback/core/status/WarnStatus

报错信息图片 日志&#xff1a; Exception in thread "Quartz Scheduler [scheduler]" java.lang.NoClassDefFoundError: ch/qos/logback/core/status/WarnStatus先说我自己遇到的问题&#xff0c;我们项目在web设置了自定义的log输出路径&#xff0c;多了一个 / 去…

以ATTCK为例构建网络安全知识图

ATT&CK&#xff08;Adversarial Tactics, Techniques, and Common Knowledge &#xff09;是一个攻击行为知识库和模型&#xff0c;主要应用于评估攻防能力覆盖、APT情报分析、威胁狩猎及攻击模拟等领域。本文简单介绍ATT&CK相关的背景概念&#xff0c;并探讨通过ATT&a…

Linux之多线程互斥

目录 线程互斥的概念 原子性 线程互斥的引入 互斥锁 互斥锁的创建 互斥锁的静态初始化 互斥锁的动态初始化 互斥锁的销毁 互斥锁加锁 互斥锁解锁 互斥锁加锁和解锁的原理 上一期我们学习了线程控制&#xff0c;线程控制就是根据pthread线程库提供的线程接口对线程…

Android4.4 在系统中添加自己的System Service

添加系统service时&#xff0c;源码限制只能添加以android开头的包名&#xff0c;如果不是android开头的&#xff0c;编译时会提示找不到对应的文件。 比如说在系统中添加一个包名为&#xff1a;tel.gateway.connservice的系统服务。 1.在framework/base目录下面创建如下路径&a…

芝法酱学习笔记(2.2)——sql性能优化2

一、前言 在上一节中&#xff0c;我们使用实验的方式&#xff0c;验证了销售单报表的一些sql性能优化的猜想。但实验结果出乎我们的意料&#xff0c;首先是时间查询使用char和datetime相比&#xff0c;char可能更快&#xff0c;使用bigint&#xff08;转为秒&#xff09;和cha…

安装Linux操作系统

确保虚拟机安装成功&#xff0c;接下来开始安装操作系统&#xff0c;通过虚拟光驱安装。 1. 点击图中的 CD/DVD &#xff0c;设置光盘文件&#xff0c;光盘文件下载地址&#xff1a; https://mirrors.tuna.tsinghua.edu.c n/centos-vault/8.5.2111/isos/x86_64/ 说明&#xf…

【网络安全产品大调研系列】1. 漏洞扫描

1. 为什么会出现漏扫技术&#xff1f; 每次黑客攻击事件进行追溯的时候&#xff0c;根据日志分析后&#xff0c;我们往往发现基本都是系统、Web、 弱口令、配置这四个方面中的其中一个出现的安全问题导致黑客可以轻松入侵的。 操作系统的版本滞后&#xff0c;没有更新补丁&am…

Java CountDownLatch 用法和源码解析

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…

AFL-Fuzz 的使用

AFL-Fuzz 的使用 一、工具二、有源码测试三、无源码测试 一、工具 建议安装LLVM并使用afl-clang-fast或afl-clang-lto进行编译&#xff0c;这些工具提供了更现代和高效的插桩技术。您可以按照以下步骤安装LLVM和afl-clang-fast&#xff1a; sudo apt update sudo apt install…

Java项目--仿RabbitMQ的消息队列--网络通信协议设计

目录 一、引言 二、设计 三、代码 1.Request 2.Response 3.BasicArguments 4.BasicReturns 四、方法类 1.创建交换机 2.删除交换机 3.创建队列 4.删除队列 5.创建绑定 6.删除绑定 7.消息发布 8.消费消息 9.集中返回 五、实现Broker Server类 六、实现连…

MySQL通过binlog日志进行数据恢复

记录一次阿里云MySQL通过binlog日志进行数据回滚 问题描述由于阿里云远程mysql没有做安全策略 所以服务器被别人远程攻击把数据库给删除&#xff0c;通过查看binlog日志可以看到进行了drop操作&#xff0c;下面将演示通过binlog日志进行数据回滚操作。 1、查询是否开始binlog …

王佩丰24节Excel学习笔记——第十二讲:match + index

【以 Excel2010 系列学习&#xff0c;用 Office LTSC 专业增强版 2021 实践】 【本章小技巧】 vlookup与match&#xff0c;index 相结合使用match,index 结合&#xff0c;快速取得引用的值扩展功能&#xff0c;使用match/index函数&#xff0c;结合照相机工具获取照片 一、回顾…

《Time Ghost》的制作:使用 DOTS ECS 制作更为复杂的大型环境

*基于 Unity 6 引擎制作的 demo 《Time Ghost》 开始《Time Ghost》项目时的目标之一是提升在 Unity 中构建大型户外环境的构建标准。为了实现这一目标&#xff0c;我们要有处理更为复杂的场景的能力、有足够的工具支持&#xff0c;同时它对引擎的核心图形、光照、后处理、渲染…

【考前预习】4.计算机网络—网络层

往期推荐 【考前预习】3.计算机网络—数据链路层-CSDN博客 【考前预习】2.计算机网络—物理层-CSDN博客 【考前预习】1.计算机网络概述-CSDN博客 目录 1.网络层概述 2.网络层提供的两种服务 3.分类编址的IPV4 4.无分类编址的IPV4—CIDR 5.IPV4地址应用规划 5.1使用定长子…

解决pip下载慢

使用pip下载大量安装包&#xff0c;下载速度太慢了 1、问题现象 pip安装包速度太慢 2、解决方案 配置国内源 vi /root/.config/pip/pip.conf[global] timeout 6000 index-url https://mirrors.aliyun.com/pypi/simple/ trusted-host mirrors.aliyun.com

【Linux】Linux权限管理:文件与目录的全面指南

在Linux系统中&#xff0c;权限管理是确保数据安全的关键。本文将为大家介绍Linux文件与目录的权限管理&#xff0c;帮助你理解如何设置和管理访问权限。无论你是新手还是有经验的用户&#xff0c;这里都将提供实用的技巧和知识&#xff0c;助你更好地掌握Linux环境。让我们一起…

【模型压缩】原理及实例

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

Android Stduio 2024版本设置前进和后退按钮显示在主界面

Android Studio 2024&#xff08;Ladybug&#xff09;安装后发现前进和后退按钮不显示在主界面的工具栏&#xff0c;且以前在View中设置的办法无效&#xff1a; Android Studio 2024&#xff08;Ladybug&#xff09;的设置方式&#xff1a; File->Settings->Appearance&…