根本区别
1.Collection是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供最大化的统一操作方式。
以下接口实现了Collection接口:
map、set、list、vector
2.Collections是一个包装类。它包含各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。
(1)排序(Sort)
使用sort方法可以根据元素的自然顺序对指定列表按升序进行排列。列表中所有元素都必须实现Comparable接口。
public class CollectionExp {
public static void main(String[] args) {
List list = new ArrayList<>();
int array[] = {112, 111, 23, 456, 231};
for (int i = 0; i < array.length; i++) {
list.add(array[i]);
}
Collections.sort(list);//排序
System.out.println(list);
}
}
输出结果:[23, 111, 112, 231, 456]
(2)反转(Reverse)
使用Reverse方法可以根据元素的自然顺序,对指定列表按降序进行排序。
Collections.reverse(list);
public class CollectionExp {
public static void main(String[] args) {
List list = new ArrayList<>();
int array[] = {112, 111, 23, 456, 231};
for (int i = 0; i < array.length; i++) {
list.add(array[i]);
}
Collections.reverse(list);//反转
System.out.println(list);
}
}
输出结果:[231, 456, 23, 111, 112]
(3)替换所有元素(Fill)
使用指定元素替换指定列表中的所有元素。
public class CollectionExp {
public static void main(String[] args) {
List list = new ArrayList<>();
int array[] = {112, 111, 23, 456, 231};
for (int i = 0; i < array.length; i++) {
list.add(array[i]);
}
Collections.fill(list,-1);//替换
System.out.println(list);
}
}
输出结果:[-1, -1, -1, -1, -1]
(4)拷贝(copy)
用两个参数,一个目标 List 和一个源 List, 将源的元素拷贝到目标,并覆盖它的内容。目标 List 至少与源一样长。如果它更长,则在目标 List 中的剩余元素不受影响。
Collections.copy(list,li): 前面一个参数是目标列表 ,后一个是源列表。
public class CollectionExp {
public static void main(String[] args) {
List list = new ArrayList<>();//源列表
int array[] = {112, 111, 23, 456, 231};
for (int i = 0; i < array.length; i++) {
list.add(array[i]);
}
List list1 = new ArrayList<>(list.size());//目标列表
Collections.copy(list1,list);//替换
System.out.println(list1);
}
}
public class CollectionExp {
public static void main(String[] args) {
List list = new ArrayList<>();//源列表
int array[] = {112, 111, 23, 456, 231};
for (int i = 0; i < array.length; i++) {
list.add(array[i]);
}
List list1 = new ArrayList(Arrays.asList(new Integer[list.size()]));//目标列表
Collections.copy(list1,list);//替换
System.out.println(list1);
}
}
运行结果:[112, 111, 23, 456, 231]
(5)返回Collections中最小元素(min)
根据指定比较器产生的顺序,返回给定 collection 的最小元素。collection 中的所有元素都必须是通过指定比较器可相互比较的。
Collections.min(list)。
public class CollectionExp {
public static void main(String[] args) {
List list = new ArrayList<>();//源列表
int array[] = {112, 111, 23, 456, 231};
for (int i = 0; i < array.length; i++) {
list.add(array[i]);
}
int min = Collections.min(list);//替换
System.out.println(min);
}
}
运行结果:23
(6)返回Collections中最小元素(max)
根据指定比较器产生的顺序,返回给定 collection 的最大元素。collection 中的所有元素都必须是通过指定比较器可相互比较的。
Collections.max(list)。
public class CollectionExp {
public static void main(String[] args) {
List list = new ArrayList<>();//源列表
int array[] = {112, 111, 23, 456, 231};
for (int i = 0; i < array.length; i++) {
list.add(array[i]);
}
int max = Collections.max(list);//替换
System.out.println(max);
}
}
运行结果:456