java中Collection和collections的区别

1、Collection是java.util中的一接口,他提供了对集合对象进行基本操作的通用接口方法。Collection接口在java类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口LIst与Set。

Collection(

List(LinkedLIst,ArrayList,Vector),

set(hashSet,treeSet)

2、Collection则是集合类的一个工具类或者是帮助类,提供给了一系列的静态方法,用于对集合中元素进行排列、搜索以及线程安全等各种操作。

1)排序(sort)

  使用sort方法可以根据元素的自然顺序,对指定列表按升序进行排序。列表中的所有元素必须实现Comparable接口。此列表内的所有元素都必须是使用指定比较器互相比较的。

List<Integer> list = new ArrayList<Integer>();
        int array[] = {112, 111, 23, 456, 231 };
        for (int i = 0; i < array.length; i++) {
            list.add(array[i]);
        }
        Collections.sort(list);
        for (int i = 0; i < array.length; i++) {
            System.out.println(list.get(i));
        }

 2)复制(copy)

          //定义一个list
		List<Integer> list=new ArrayList<Integer>();
		
		Integer math[]={23,34,432,23,43,12,23,32};
		
		
		for(int i=0;i<math.length;i++){
			list.add(math[i]);
		}
		//新的list
		List<Integer> lists=new ArrayList<Integer>(Arrays.asList(new Integer[list.size()]));
		System.out.println(list);
		//copy(被赋值的在前,是在后)
		Collections.copy(lists,list);
		System.out.println(lists.size());
		for (Integer integer : lists) {
			System.out.print(integer+",");
		}

  3)混排(Shuffling)

混排算法所做的正好与 sort 相反: 它打乱在一个 List 中可能有的任何排列的踪迹。也就是说,基于随机源的输入重排该 List, 这样的排列具有相同的可能性(假设随机源是公正的)。这个算法在实现一个碰运气的游戏中是非常有用的。例如,它可被用来混排代表一副牌的 Card 对象的一个 List 。另外,在生成测试案例时,它也是十分有用的。

Collections.Shuffling(list)

  4)反转(Reverse)
使用Reverse方法可以根据元素的自然顺序 对指定列表按降序进行排序。
Collections.reverse(list)

  5)替换所以的元素(Fill)

使用指定元素替换指定列表中的所有元素。

Collections.fill(li,"aaa");

  6)返回Collections中最小元素(min)
根据指定比较器产生的顺序,返回给定 collection 的最小元素。collection 中的所有元素都必须是通过指定比较器可相互比较的
Collections.min(list)

  7)返回Collections中最大元素(max)
根据指定比较器产生的顺序,返回给定 collection 的最大元素。collection 中的所有元素都必须是通过指定比较器可相互比较的
Collections.max(list)

  8) lastIndexOfSubList
返回指定源列表中最后一次出现指定目标列表的起始位置
int count = Collections.lastIndexOfSubList(list,li);

  9) IndexOfSubList
返回指定源列表中第一次出现指定目标列表的起始位置
int count = Collections.indexOfSubList(list,li);

  10) Rotate
根据指定的距离循环移动指定列表中的元素
Collections.rotate(list,-1);
如果是负数,则正向移动,正数则方向移动