• Collections练习之对字符串先折半,再取最长的一个


       不多说,直接上干货!

    代码需求

       由

    [aa, abcde, cba, cba, nbaa, zzz]

      变成

    max=abcde

    CollectionsDemo.java

    package zhouls.bigdata.DataFeatureSelection.test;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    import java.util.TreeSet;
    import zhouls.bigdata.DataFeatureSelection.test.ComparatorByLength;
    
    public class CollectionsDemo {
        /**
         * @param args
         */
        public static void main(String[] args) {
            /*
             * Collections:是集合框架的工具类。
             * 里面的方法都是静态的。
             */
            demo();
        }
        
        public static void demo(){
            List<String> list = new ArrayList<String>();
            list.add("abcde");
            list.add("cba");
            list.add("aa");
            list.add("zzz");
            list.add("cba");
            list.add("nbaa");
            Collections.sort(list);
            System.out.println(list);
            //获取最大值。
            String max = Collections.max(list,new ComparatorByLength());
            System.out.println("max="+max);
        }
        
        public static <T> void mySort(List<T> list,Comparator<? super T> comp){
            for (int i = 0; i < list.size()-1; i++) {
                for (int j = i+1; j < list.size(); j++) {
                    if(comp.compare(list.get(i), list.get(j))>0){    
                        T temp = list.get(i);
                        list.set(i, list.get(j));
                        list.set(j, temp);
                        Collections.swap(list, i, j);
                    }
                }
            }
        }
        
        public static <T extends Comparable<? super T>> void mySort(List<T> list){ 
            for (int i = 0; i < list.size()-1; i++) {
                for (int j = i+1; j < list.size(); j++) {
                    if(list.get(i).compareTo(list.get(j))>0){    
                        T temp = list.get(i);
                        list.set(i, list.get(j));
                        list.set(j, temp);
                        Collections.swap(list, i, j);
                    }
                }
            }
        }
    }
  • 相关阅读:
    CentOS7下部署Django
    ORM动态创建表
    JQuery制作加载进度条
    文件上传、下载
    Django执行事务操作
    python常用代码
    深入理解Java虚拟机-垃圾收集器
    ILRuntime作者林若峰分享:次世代手游渲染怎么做
    Android:手把手教你构建 全面的WebView 缓存机制 & 资源加载方案
    unity3d 热更篇--ILRuntime原理
  • 原文地址:https://www.cnblogs.com/zlslch/p/7576980.html
Copyright © 2020-2023  润新知