Java中Collection和Collections的区别:
1、Java集合框架图:
2、Collection接口:
java.util.Collection是一个集合接口,其中定义了对集合对象有关操作的普通接口方法。
Set和List集合类型(不包含Map)是常用子接口 。
根据上面的Java集合框架图可知其具体子接口及各实现类。
Collection├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
2、java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法,实现了对集合元素的排序、取极值、批量复制、集合结构转换、循环移位元以及匹配性检
查等功能。
此类不能实例化,就像一个工具类,服务于Java的Collection框架。
常用到的方法:
(1)、public static void sort(List list);--根据元素的自然顺序对指定列表按升序排序。
(2)、public static void reverse(List list);--逆序反转,反转指定列表中元素的顺序。
(3)、public static void shuffle(List list);--使用默认随机源随机更改指定列表的元素顺序。
(4)、public static void copy(List deslist,List sourcelist);--将所有元素从一个列表复制到另一个列表。
(5)、public static ArrayList list(Enumeration e);--返回一个数组列表,按照枚举结构中元素的原有顺序包含其中的所有元素。
(6)、public static int frequency(Collection c,Object o);--返回指定collection中等于指定对象的元素数。
(7)、public static T max(Collection c);--按照元素的自然顺序,返回指定collection中的最大元素。
(8)、public static T min(Collection c);--按照元素的自然顺序,返回指定collection中的最小元素。
(9)、public static void rotate(List list,int distance);--根据指定的距离循环移动指定列表的元素。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class TestCollections {
public static void main(String args[]) {
//注意List是实现Collection接口的
List list = new ArrayList();
double array[] = { 11, 12, 45, 23, 123 };
for (int i = 0; i < array.length; i++) {
list.add(new Double(array[i]));
}
Collections.sort(list);
for (int i = 0; i < array.length; i++) {
System.out.println(list.get(i));
}
}
}
运行输出结果为:
11.0 12.0 23.0 45.0 123.0