集合工具类
集合工具类
集合工具类在Java中主要指的是java.util.Collections和java.util.Arrays,以及java.util.stream.Collectors(Java 8及以上版本)。以下是对这些工具类的简要说明:
1. java.util.Collections
Collections 类提供了一系列静态方法来操作或返回集合对象,包括:
- 排序:
sort(),sort(List<T> list, Comparator<? super T> c)。 - 洗牌:
shuffle(List<?> list)。 - 反转:
reverse(List<?> list)。 - 查找:
min(),max(),binarySearch(List<T> list, T key)。 - 复制:
copy(),copy(List<T> dest, List<? extends T> src)。 - 空集合:返回不可变空集合,如
emptyList(),emptySet(),emptyMap()。 - 不可修改集合:
unmodifiableCollection(Collection<T> c)。 - 填充集合:
nCopies(int n, T element)。
2. java.util.Arrays
Arrays 类提供了一系列静态方法来操作数组,包括:
- 排序:
sort(),sort(Object[] a, Comparator c)。 - 二分查找:
binarySearch()。 - 填充:
fill()。 - 转换为列表:
asList(Object... a)。 - 比较:
equals()。
3. java.util.stream.Collectors
在Java 8及以上版本中,Collectors 类提供了一系列工厂方法,用于将流(Stream)转换成集合或进行归约操作,包括:
- 收集到列表:
toList()。 - 收集到集合:
toSet(),toCollection(Supplier<C> collectionFactory)。 - 分组:
groupingBy(Function<? super T, ? extends K> classifier)。 - 分区:
partitioningBy(Predicate<? super T> predicate)。 - 联接:
joining()。 - 归约:
reducing()。
4. java.util.Properties
Properties 类是用于管理属性表的类,通常用于读取和写入配置文件:
- 加载属性:
load(Reader reader),load(InputStream inStream)。 - 保存属性:
store(Writer writer, String comments),store(OutputStream out, String comments)。 - 获取属性:
getProperty(String key)。 - 设置属性:
setProperty(String key, String value)。
示例用法
以下是使用 Collections 和 Arrays 类的一些示例:
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class CollectionUtilExample {
public static void main(String[] args) {
List<String> list = Arrays.asList("Apple", "Banana", "Cherry");
// 使用Collections工具类对列表进行排序
Collections.sort(list);
// 使用Arrays工具类对数组进行排序
int[] numbers = {5, 3, 9, 1};
Arrays.sort(numbers);
// 打印排序后的结果
System.out.println(list);
System.out.println(Arrays.toString(numbers));
}
}

浙公网安备 33010602011771号