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集合中的最大元素。
🏡个人主页:謬熙,欢迎各位大佬到访❤️❤️❤️~
👲个人简介:本人编程小白,正在学习互联网开发求职知识……
如果您觉得本文对您有帮助的话,记得点赞👍、收藏⭐️、评论💬,如果文章有什么需要改进的地方还请大佬不吝赐教🙏🙏🙏