集合工具类

集合工具类


集合工具类在Java中主要指的是java.util.Collectionsjava.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)

示例用法

以下是使用 CollectionsArrays 类的一些示例:

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));
    }
}
posted @ 2024-08-06 10:29  墨澜  阅读(25)  评论(0编辑  收藏  举报