`

面试题:一个存放字符串的ArrayList,请按照字符串的长度进行排序

    博客分类:
  • Java
阅读更多
private static ArrayList<String> sortList(ArrayList<String> list) {
    /* 返回的list */
    ArrayList<String> retList = new ArrayList<String>();
    /* 当前list的元素个数 */
    int size = list.size();
    /* list的最大长度(while循环使用) */
    int listMaxSize = size;
    /* 当返回的list的 长度和参数list的长度不一致的时候,循环 */
    while (retList.size() < listMaxSize) {
        /* 长度最大的字符串的长度 */
        int maxLen = 0;
        /* 长度最大的index */
        int maxIndex = 0;
        /* 循环找出长度最大的字符串 */
        for (int i = 0; i < size; i++) {
            /* 当前字符串 */
            String str = list.get(i);
            /* 当前字符串的长度(null的时候是0) */
            int len = 0;
            if (str != null) {
                len = str.length();
            }
            /* 如果当前字符串的长度比设定的maxLen大,则把当前字符串设定为最大*/
            if (len > maxLen) {
                maxLen = len;
                maxIndex = i;
            }
        }
        /* 结束内层循环,把最大的字符串追加到retList中 */
        retList.add(list.get(maxIndex));
        /* 把list中最大的那个元素remove掉 */
        list.remove(maxIndex);
        /* 元素-1 */
        size--;
    }
    return retList;
}
分享到:
评论
1 楼 sunlz19891215 2013-10-30  
楼主厉害啊!很有用的

相关推荐

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    实现一个拷贝文件的类使用字节流还是字符串.mp4 │ Java面试题13.线程的实现方式 怎么启动线程怎么区分线程.mp4 │ Java面试题14.线程并发库和线程池的作用?.mp4 │ Java面试题15.设计模式和常用的设计模式.mp4 │ ...

    2021年最新java面试题--视频讲解(内部培训84个知识点超详细).rar

    实现一个拷贝文件的工具类要使用字节流还是字符串 Java面试题13.线程的的实现方式?怎么启动线程?怎么区分线程? Java面试题14.线程并发库和线程池的作用 Java面试题15.设计模式和常用的设计模式 Java面试题16....

    java面试大全视频版

    实现一个拷贝文件的工具类要使用字节流还是字符串 Java面试题13.线程的的实现方式?怎么启动线程?怎么区分线程? Java面试题14.线程并发库和线程池的作用 Java面试题15.设计模式和常用的设计模式 Java面试题16....

    JAVA面试题最全集

    写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。 3.数据类型之间的转换 如何将数值型字符转换为数字(Integer,Double) 如何将数字...

    【。net 专业】 面试题

    现在需要您写一个数据库连接字符串,用以连接AllWin上SQL SERVER中的一个名为PubBase实例的Test库。请问,应该选择下面哪一个字符串?( B )  A. “Server=AllWin;Data Source=PubBase;Initial Catalog=Test;...

    java面试题大全(2012版)

    3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...

    java面试题

    java面试题 基础题122道 代码题19道 JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部...

    Java常见面试题208道.docx

    面试题包括以下十九部分:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql...

    java面试题.docx

    企业常见java面试题,java基础,java进阶 JDK 和 JRE 有什么区别? == 和 equals 的区别是什么? 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? final 在 java 中有什么作用? java 中操作字符串...

    java 面试题 总结

    Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 11、HashMap...

    超级有影响力霸气的Java面试题大全文档

    超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...

    大数据面试题.pdf

    1-9)使⽤ StringBuffer ⽽不是 String 当需要对字符串进⾏操作时,使⽤ StringBuffer ⽽不是 String,String 是 read-only 的,如果对它进⾏修改,会产⽣临时对象, ⽽ StringBuffer 是可修改的,不会产⽣临时对象...

    java面试宝典2012

    3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...

    Java面试宝典-经典

    3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...

    千方百计笔试题大全

    56、写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔。 14 59、Java 编程,打印昨天的当前时刻。 15 60、java 和javasciprt 的区别。 15 61、什么时候用assert? 16 62、error和exception有什么...

    最新Java面试宝典pdf版

    3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...

    Java面试宝典2010版

    3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...

    史上最全的Java面试题集锦.pdf

    字符串编码的区别,被问到过,我觉得⽐较容易被忽视的⼀个点 什么是泛型,怎么⽤泛型 static能不能修饰threadLocal,为什么,这道题我当时⼀听到其实挺懵逼的 Comparable和Comparator接⼝是⼲什么的,其区别 多态的...

Global site tag (gtag.js) - Google Analytics