集合工具类
目录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
类还提供了一些便捷的方法来处理属性的注释和列表,使其成为处理配置文件的理想选择。