Collections的用法
从尾到头打印链表
https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035
import java.util.*;
/**
* public class ListNode {
* int val;
* ListNode next = null;
*
* ListNode(int val) {
* this.val = val;
* }
* }
*
*/
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> list = new ArrayList<>();
while(listNode != null){
list.add(listNode.val);
listNode = listNode.next;
}
Collections.reverse(list);
return list;
}
}
下面是使用Markdown格式美化的笔记:
Java的java.util.Collections类
java.util.Collections类提供了许多用于操作和处理集合(Collection)的静态方法。以下是一些常见的Collections类的作用:
反转列表
Collections.reverse(List list):反转列表中的元素顺序。
排序列表
Collections.sort(List list):根据元素的自然顺序对列表进行排序。
Collections.sort(List list, Comparator c):根据提供的比较器对列表进行排序。
二分查找
Collections.binarySearch(List list, Object key):在自然排序的列表中进行二分查找。
Collections.binarySearch(List list, Object key, Comparator c):使用自定义比较器进行查找。
最大/最小元素
Collections.max(Collection coll) 和 Collections.min(Collection coll):根据元素的自然顺序找出集合中的最大或最小元素。
- 比较器版本: Collections.max(Collection coll, Comparator comp)Collections.min(Collection coll, Comparator comp)
替换元素
Collections.replaceAll(List list, Object oldVal, Object newVal):在列表中替换所有旧元素为新元素。
旋转列表
Collections.rotate(List list, int distance):旋转列表中的元素,可选地向左或向右。
复制列表
Collections.copy(List dest, List src):将一个列表中的元素复制到另一个列表中。
填充列表
Collections.fill(List list, Object obj):使用指定的元素填充列表。
空集合
Collections.emptySet():返回不可修改的空集合。Collections.emptyList():返回不可修改的空列表。Collections.emptyMap():返回不可修改的空映射。
同步集合
Collections.synchronizedCollection(Collection c):返回一个同步(线程安全)的集合包装器。
不可修改集合
Collections.unmodifiableCollection(Collection c):返回一个不可修改的集合视图。
检查子序列
Collections.frequency(Collection c, Object element):返回一个集合中某个元素的出现次数。
逆序排序
Collections.reverseOrder():提供一个逆序比较器,常用于排序操作。
Shuffle 随机打乱
Collections.shuffle(List list):使用默认随机源随机打乱列表中的元素顺序。
Swap 交换元素
Collections.swap(List list, int i, int j):交换列表中的两个位置的元素。
这些方法提供了对集合进行各种操作的便捷方式,增强了Java集合框架的灵活性和功能性。