当前位置: 首页 > article >正文

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.kler.cn/a/447089.html

相关文章:

  • Linux之磁盘管理相关命令
  • windows下搭建本地sofa-registry
  • springboot 3 websocket react 系统提示,选手实时数据更新监控
  • 你好Python
  • 使用二分查找法找出给定点距离给定点集合距离最近的点
  • Windows server 服务器网络安全管理之防火墙出站规则设置
  • LeetCode hot100-90
  • 纯css 实现呼吸灯效果
  • TCP/IP协议:网际层相关知识梳理
  • metasploit之ms17_010_psexec模块
  • MapBox实现深蓝色科技风格底图方案
  • android studio更改应用图片,和应用名字。
  • D101【python 接口自动化学习】- pytest进阶之fixture用法
  • Unity3D仿星露谷物语开发6之角色添加动画
  • 麒麟操作系统服务架构保姆级教程(二)ssh远程连接
  • Linux之多线程互斥
  • 前端实现获取后端返回的文件流并下载
  • 【原生js案例】移动端如何实现页面的入场和出场动画
  • 了解cuda的统一内存
  • 复习打卡大数据篇——Apache Hadoop
  • leetcode之hot100---240搜索二维矩阵II(C++)
  • 周末总结(2024/12/21)
  • Apache solr XML 实体注入漏洞
  • .NET 8 获取CPU序列号和主板序列号异常问题
  • 2110 加分二叉树
  • 重拾设计模式--组合模式