集合工具类

集合工具类

java.until.Collections类

概念

java.util.Collections是集合工具类,用来对集合进行操作

常用方法

 static void shuffle(List<?> list)//打乱集合中元素顺序

 sort(List<T> list) //根据元素的自然顺序 对指定列表按升序进行排序。

 Collections.reverse(list); //反转集合里面的元素顺序

 Collections.synchronizedCollection(list);//让集合线程变安全


注意:
  sort()使用前提:
      被排序的集合里面存储的元素,必须实现Comparable接口,重写接口中compareto方法定义排序规则
  Comparable接口排序规则: 自己(this)-参数 :升序

//创建对象
        ArrayList<String> list = new ArrayList<>();
        //添加
        Collections.addAll(list, "a", "b", "c", "d", "e");
        System.out.println(list);//[a, b, c, d, e]
        //打乱顺序
        Collections.shuffle(list);
        System.out.println(list);//[b, e, d, a, c] 每次顺序不一样
        //按默认升序排序
        Collections.sort(list);
        System.out.println(list);//[a, b, c, d, e]

在Java中,java.util包提供了多个工具类来操作集合和数组,其中Array类和Properties类是两个常用的工具类。

java.util.Arrays

Arrays 类提供了一系列静态方法来操作数组,包括排序、搜索、比较、填充和转换数组等。以下是一些常用的方法:

  • sort():对数组进行排序。
  • binarySearch():在已排序的数组中进行二分查找。
  • equals():比较两个数组是否相等。
  • fill():用指定的值填充数组。
  • copyOf():创建数组的一个副本。
  • toString():返回数组内容的字符串表示形式。

使用示例:

int[] numbers = {5, 3, 1, 4, 2};
Arrays.sort(numbers); // 排序数组
int index = Arrays.binarySearch(numbers, 3); // 在数组中查找元素3的索引
boolean areEqual = Arrays.equals(numbers, new int[]{1, 2, 3, 4, 5}); // 比较两个数组是否相等
Arrays.fill(numbers, 0); // 用0填充数组
int[] copy = Arrays.copyOf(numbers, numbers.length); // 创建数组的副本
String arrayString = Arrays.toString(numbers); // 将数组转换为字符串

java.util.Properties

Properties 类继承自 Hashtable,用于处理属性文件。属性文件通常用于配置应用程序,其键值对以特定的格式存储,键和值都是字符串。

  • load():从输入流中加载属性列表。
  • store():将属性列表保存到输出流。
  • getProperty():根据键获取属性值。
  • setProperty():设置或修改属性的键值对。

使用示例:

Properties prop = new Properties();
prop.setProperty("name", "John Doe");
prop.setProperty("age", "30");

// 加载属性文件
try (InputStream input = new FileInputStream("config.properties")) {
    prop.load(input);
} catch (IOException ex) {
    ex.printStackTrace();
}

// 获取属性值
String name = prop.getProperty("name");
int age = Integer.parseInt(prop.getProperty("age"));

// 保存属性到文件
try (OutputStream output = new FileOutputStream("config.properties")) {
    prop.store(output, "Updated properties");
} catch (IOException io) {
    io.printStackTrace();
}

Properties 类还提供了一些便捷的方法来处理属性的注释和列表,使其成为处理配置文件的理想选择。

posted @ 2024-08-06 11:09  wen-210162704027  阅读(2)  评论(0编辑  收藏  举报