一、Collections
- 该类不能创建对象
- 此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。
- 它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection 支持的新 collection,以及少数其他内容。
- 如果为此类的方法所提供的 collection 或类对象为 null,则这些方法都将抛出 NullPointerException
二、常用方法
public class Collections { //构造函数私有化,不能创建对象 private Collections() {} //为List集合排序************************************ //sort根据元素的自然顺序 对指定列表按升序进行排序 public static <T extends Comparable<? super T>> void sort(List<T> list) { Object[] a = list.toArray(); Arrays.sort(a); ListIterator<T> i = list.listIterator(); for (int j=0; j<a.length; j++) { i.next(); i.set((T)a[j]); } } //sort根据指定比较器产生的顺序对指定列表进行排序。 public static <T> void sort(List<T> list, Comparator<? super T> c) { Object[] a = list.toArray(); Arrays.sort(a, (Comparator)c); ListIterator i = list.listIterator(); for (int j=0; j<a.length; j++) { i.next(); i.set(a[j]); } } //求最值*********************************************** //根据元素的自然顺序,返回给定 collection 的最大元素 public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll) { Iterator<? extends T> i = coll.iterator(); T candidate = i.next(); while (i.hasNext()) { T next = i.next(); if (next.compareTo(candidate) > 0) candidate = next; } return candidate; } //根据指定比较器产生的顺序,返回给定 collection 的最大元素 public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp){} //根据元素的自然顺序 返回给定 collection 的最小元素。 public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll){} //根据指定比较器产生的顺序,返回给定 collection 的最小元素 public static <T> T min(Collection<? extends T> coll, Comparator<? super T> comp){} //******************************************************************** //对List集合进行二分查找 //使用二分搜索法搜索指定列表,以获得指定对象。必须先根据列表元素的自然顺序对列表进行有序排序(通过 sort(List) 方法)。 public static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key){} //使用二分搜索法搜索指定列表,以获得指定对象。必须先根据指定的比较器对列表进行升序排序(通过 sort(List, Comparator) 方法)。 public static <T> int binarySearch(List<? extends T> list, T key, Comparator<? super T> c){} //*************************************************************************** //将所有元素从一个列表复制到另一个列表。 public static <T> void copy(List<? super T> dest, List<? extends T> src){} //对List替换,反转**************************************************************************** //使用指定元素替换指定列表中的所有元素。 public static <T> void fill(List<? super T> list, T obj){} //使用另一个值替换列表中出现的所有某一指定值 public static <T> boolean replaceAll(List<T> list, T oldVal, T newVal){} //反转指定列表中元素的顺序 public static void reverse(List<?> list){} //在指定列表的指定位置处交换元素 public static void swap(List<?> list, int i, int j){} //获取对指定集合进行强行反转的比较器******************************************************** //返回一个比较器,它强行逆转实现了 Comparable 接口的对象 collection 的自然顺序 public static <T> Comparator<T> reverseOrder(){} //如:假设 a 是一个字符串数组。那么:Arrays.sort(a, Collections.reverseOrder());将按照逆字典(字母)顺序对数组进行排序。 //返回一个比较器,它强行逆转指定比较器的顺序。如果指定比较器为 null,则此方法等同于 reverseOrder() public static <T> Comparator<T> reverseOrder(Comparator<T> cmp){} //将非同步集合转成同步集合*********************************************************** //原理:定义一个类,将集合所有的方法加同一把锁后返回。 //返回指定列表支持的同步(线程安全的)列表。 public static <T> List<T> synchronizedList(List<T> list){} //返回由指定映射支持的同步(线程安全的)映射。 public static <K,V> Map<K,V> synchronizedMap(Map<K,V> m){} //返回指定 set 支持的同步(线程安全的)set public static <T> Set<T> synchronizedSet(Set<T> s){} //******************************* //使用默认随机源对指定列表进行置换。所有置换发生的可能性都是大致相等的。 public static void shuffle(List<?> list){} }
相关推荐
8. Collections和Arrays工具类:Collections提供了许多静态方法,用于操作集合,如排序、填充、复制、查找和转换等。Arrays类提供了对数组的各种操作,如排序、比较、复制等。 9. Random类:Random类用于生成随机数...
Java工具类集合是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,工具类通常被组织在各种包下,如`java.util`、`java.lang`、`java.io`等。下面将详细介绍...
Java.util包是Java标准库中的核心包之一,它包含了大量用于日常编程的工具类和接口。这个包在Java 2版本中得到了显著增强,引入了许多重要的数据结构和算法,为Java程序员提供了更丰富的功能。 首先,Java.util包中...
在Java编程语言中,`java.util....总之,`Vector`是Java集合框架的一部分,提供了一种线程安全的方式来管理动态数组。理解其特性和用法对于编写多线程Java程序至关重要,但同时也要权衡其性能和线程安全之间的平衡。
`java.util`包是Java标准库中的一个重要组成部分,提供了大量的实用工具类和接口来处理集合数据类型、日期时间操作、随机数生成等功能。这份PDF文档包含了`java.util`包内各主要类与接口的源代码,有助于开发者深入...
1. **`java.util.ArrayList`与`java.util.LinkedList`**:这两个是Java集合框架中的重要类,分别代表动态数组和链表。ArrayList适合于随机访问,而LinkedList适用于频繁的插入和删除操作。 2. **`java.util.HashMap...
2. **实用工具类**: - **Arrays**:提供了操作数组的方法,例如排序、搜索等。 - **Collections**:提供了一系列静态方法来操作和处理集合对象。 - **StringTokenizer**:用于将字符串分割成一系列子字符串或...
在Java编程语言中,工具类(Utility Class)是那些提供了静态方法或常量,用于执行特定任务或提供通用功能的类。这些类不包含公共构造器,通常是为了避免实例化,因为它们的设计目的就是作为静态服务。以下是28个...
2. **`java.util.Collections`**:它是针对集合框架的工具类,提供了对List、Set、Map等各种集合的操作,如排序(`sort()`)、填充(`fill()`)和集合转换(`copy()`)等。 3. **`java.lang.Math`**:提供了各种...
8. **`java.util.concurrent`** 包:提供并发工具类,如`ExecutorService`、`Future`和`Semaphore`,帮助管理线程和控制并发。 9. **`java.util.Map.Entry`**:表示Map中的键值对,常用于遍历Map。 10. **`java....
- `java.util.Collections`:操作集合的工具类,如排序、反转、填充等。 以上只是Java工具类的一部分,实际中还有很多实用的工具类,例如用于XML处理的`javax.xml.parsers.DocumentBuilderFactory`,用于JSON解析...
在Java编程语言中,工具类集合是一组预定义的、静态方法丰富的类,它们提供了各种实用功能,大大简化了开发人员的工作。这些工具类通常包含在Java标准库(JDK)的不同包中,如`java.util`、`java.lang`、`java.io`等...
在Java编程语言中,工具类(Utility Class)是包含各种静态方法的类,这些方法通常用于执行特定的、重复的任务,以提高代码的重用性和效率。这些工具类不依赖于实例化,而是通过调用静态方法来提供服务。下面我们将...
在Java编程语言中,工具类集合是一系列实用的类,它们提供了各种通用功能,帮助开发者更高效地编写代码。这些工具类通常包含在Java的`java.util`以及其他相关的包中,如`java.text`,`javax.imageio`,`javax.xml`等...
在Java编程语言中,工具类(Util)是程序员日常开发中不可或缺的一部分,它们提供了一些预定义的方法,方便处理各种常见的任务。以下是我个人对Java中常用工具类的总结,主要涉及了加密、文件上传和日期处理等核心...
3. **java.util.Collections**:与`Arrays`类似,但它是针对集合接口(如List、Set、Map)的,提供了排序、搜索、填充等方法。 4. **java.text.SimpleDateFormat**:用于日期和时间的格式化和解析,可以根据自定义...
9. Collections工具类:Collections提供了对集合的各种操作,如排序、填充、复制、反转等。 10. Arrays工具类:Arrays类提供了处理数组的方法,如排序、比较、拷贝和填充。 11. EnumSet与EnumMap:针对枚举类型,...