利用Collections *重载的sort方法对集合排序

package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Random;

/**
 * 集合的排序
  *集合的工具类:java.util.collections
  *该工具类提供年很多静态方法用于方便的操作集合
  *其中就由sort方法用于对List集合进行自然排序:从小到大
  *
  *
  *使用比较器为元素提供比较规则,利用Collections
  *重载的sort方法对集合排序
 * @author 清风已来
 *
 */

public class SortListDome1 {
	public static void main(String[] args) {
		List <String> list =new ArrayList<String>();
		list.add("大河之剑天上来");
		list.add("将进酒") ;
		list.add("来干,来干");
		/**
		 * 排序字符串时,字符串自身的大小规则
		 * 是按照字符的编码大小比较
		 * 
		 * 也可以自定义一个方法按照字符串多少来排序,以下是按哪个多就哪个大
		 */
		
		System.out.println(list);
//		MyComparator c = new MyComparator();
		
		/*
		 * 相对于sort(List  list)而言,下面的排序规则不需要集合元素必须
		 * 实现Coparable接口,这样在排序自定义类型元素时就没有对该元素具有“侵入性”
		 * 所以u在排序泛由自定义类型元素的集合时都应当使用下面的排序方法
		 * 当元素已经实现了comparable接口,但是其比较大小的规则不满足排序需求时,
		 * 也应当使用下面的排序方法
		 * 
		 */
		Collections.sort(list,new Comparator<String>() {
			public int compare(String o1, String o2) {return o1.length()-o2.length();}});
		System.out.println(list);
		}
	}
//class MyComparator implements Comparator<String>{
//	@Override
//	public int compare(String o1, String o2) {
//		
//		return o1.length()-o2.length();
//	}
	
//}

  

posted @ 2018-01-15 11:29  清风已来  阅读(310)  评论(0编辑  收藏  举报