zoukankan      html  css  js  c++  java
  • 利用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();
    //	}
    	
    //}
    

      

  • 相关阅读:
    【简●解】[AHOI2009]中国象棋
    【讲●解】KMP算法
    【简●解】POJ 1185,LG P2704【炮兵阵地】
    学习网站整理
    【讲●解】火车进出栈类问题 & 卡特兰数应用
    洛谷4556 [Vani有约会]雨天的尾巴
    BZOJ2212或洛谷3521 [POI2011]ROT-Tree Rotations
    洛谷1119 灾后重建
    洛谷1462(重题1951) 通往奥格瑞玛的道路(收费站_NOI导刊2009提高(2))
    BZOJ2721或洛谷1445 [Violet]樱花
  • 原文地址:https://www.cnblogs.com/xyk1987/p/8287368.html
Copyright © 2011-2022 走看看