Collection
和Collections
是Java中两个不同的概念:
Collection
表示集合的抽象概念,定义了集合的基本行为,而Collections
是一个工具类,提供了对集合进行各种操作的静态方法。
-
Collection:
Collection
是Java集合框架的根接口,表示一组对象的集合。它是所有集合类的父接口,定义了集合的基本操作和行为,如添加、删除、遍历等。Collection
接口的常见子接口包括List
、Set
和Queue
,分别表示有序可重复、无序不重复和队列类型的集合。
-
Collections:
Collections
是一个工具类,位于java.util
包中,提供了一系列静态方法,用于对集合进行操作。Collections
类提供了对集合进行排序、查找、同步等操作的方法,这些方法通常用于对集合进行一些常见的操作,如排序列表、查找最大值、获取不可修改的集合等。
以下是一个简单的示例代码,演示了如何使用Collection
和Collections
:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 创建一个ArrayList集合
List<Integer> list = new ArrayList<>();
list.add(3);
list.add(1);
list.add(2);
// 使用Collections类的sort方法对集合进行排序
Collections.sort(list);
// 遍历集合并打印元素
for (Integer num : list) {
System.out.println(num);
}
// 使用Collections类的max方法获取集合中的最大值
Integer max = Collections.max(list);
System.out.println("Max value: " + max);
// 使用Collections类的unmodifiableCollection方法创建一个不可修改的集合
List<Integer> unmodifiableList = Collections.unmodifiableList(list);
// 尝试修改不可修改的集合会抛出UnsupportedOperationException异常
// unmodifiableList.add(4); // 会抛出异常
}
}
在这个示例中,首先创建了一个ArrayList
集合,并向其中添加了几个整数。然后使用Collections.sort()
方法对集合进行排序,并使用Collections.max()
方法获取集合中的最大值。最后使用Collections.unmodifiableList()
方法创建一个不可修改的集合,尝试修改这个不可修改的集合会抛出异常。