代码需求

  想从

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

  变成

[aa, cba, cba, zzz, nbaa, 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");System.out.println(list);//对list集合进行指定顺序的排序。
        Collections.sort(list);mySort(list);mySort(list,new ComparatorByLength());Collections.sort(list,new ComparatorByLength());System.out.println(list);}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);}}}}
}

ComparatorByLength.java

package zhouls.bigdata.DataFeatureSelection.test;import java.util.Comparator;public class ComparatorByLength implements Comparator<String> {public int compare(String o1, String o2) {int temp = o1.length() - o2.length();return temp==0?o1.compareTo(o2): temp;}
}

Collections练习之按照字符串长度进行排序相关推荐

  1. [C语言]使用指针将输入的多个字符串按长度升序排序

    [C语言]使用指针将输入的多个字符串按长度升序排序 1.题目 2.完整代码 3.截图 1.题目 编写一个函数,利用指针将输入的多个字符串按长度升序排序 要求:子函数 void StrSort(char ...

  2. Java Array.sort 根据字符串长度排序

    Array.sort 如何根据字符串长度排序? 这里的知识点包括: Array,sort() 函数.其第一个参数是要排序的数组,第二个参数是比较方法. lambda 表达式.其形式为 (参数) -&g ...

  3. python中对字符串的长度进行排序

    前言 对字符串的长度进行排序很常见,本文用sorted()函数进行排序 一.代码部分 def main():dict={}ls=[]for i in range(5): #输入字符串的个数name=i ...

  4. 用TreeSet存储以下数据: “xiaoqiang”、 “zhangsan”、“lisi”、“xiaohua”、 “ruhua”、 “wangcai” 要求按照字符串的长度进行排序后再存储(如

    用TreeSet存储以下数据: "xiaoqiang". "zhangsan"."lisi"."xiaohua". &q ...

  5. 二维字符数组按长度排序_字符串长度 字符数组长度

    1.不带转义字符的字符 如:"abc!x=/",其长度为 7 2.带转义字符的字符串 (1) 字符串"abcn":其中的'n'为转义字符(换行符),计算字符串长 ...

  6. Collections、Set、Map、斗地主排序

    Collections.Set.Map.斗地主排序 今日内容 Collections shuffle sort自然排序 比较器排序 可变参数[重] addall方法 Set接口 hashCode 哈希 ...

  7. Go 学习笔记(31)— 字符串 string、字符 rune、字节 byte、UTF-8 和 Unicode 区别以及获取字符串长度

    1. 字符串 string 类型 Go 语言中字符串的内部实现使用 UTF-8 编码,通过 rune 类型,可以方便地对每个 UTF-8 字符进行访问.当然, Go 语言也支持按照传统的 ASCII ...

  8. Java黑皮书课后题第7章:**7.34(对字符串中的字符排序)使用以下方法头编写一个方法,返回一个排序好的字符串。编写一个测试程序,提示用户输入一个字符串,显示排序好的字符串

    **7.34(对字符串中的字符排序)使用以下方法头编写一个方法,返回一个排序好的字符串.编写一个测试程序,提示用户输入一个字符串,显示排序好的字符串 题目 题目描述 破题 代码 运行实例 题目 题目描 ...

  9. python字符串排序_Python对字符串列表进行排序

    在本教程中,我们将看到如何对字符串列表进行排序.我们将使用sort方法和sorted函数对给定的字符串列表进行排序.然后,我们将了解如何根据不同的条件(例如长度,值等)对字符串列表进行排序, 让我们看 ...

最新文章

  1. scikit-learn随机森林调参小结
  2. Codeforces Round #506 (Div. 3) - D. Concatenated Multiples(思维)
  3. JavaScript 语言基础知识点图示
  4. python导入pandas具体步骤方法_python导入pandas具体步骤方法-
  5. mvc crud_Spring MVC3 Hibernate CRUD示例应用程序
  6. HTML块,含样式的标签
  7. 一张图理清 Python3 所有知识点
  8. mysql视图_MySQL视图详解
  9. android studio创建构造方法,使用Android studio创建你的第一个项目
  10. TCL微型计算机如何投屏,TCL电视怎么投屏?3个办法帮助你完美解决
  11. 安全测试需要考虑的测试点
  12. 《从零开始走进FPGA》导读
  13. matlab运行为什么要选中代码,性能 – 为什么(在MATLAB中)这个代码更快?
  14. 单链表的逆置-C++实现(ok)
  15. hdfs-文件上传下载
  16. STM32+SIM800C采用MQTT协议登录OneNet上传温湿度、MQ2烟雾浓度、GPS数据
  17. 【USB】STM32模拟USB鼠标
  18. 大岩量化小白科普:什么是量化交易?什么是宽客?
  19. 电子计算机上面的mrc是什么意思,计算器中的M-键是什么功能?
  20. 1 同业拆出,和同业拆入的定义

热门文章

  1. git-flow的分支管理 (Git branching model)
  2. HDFS—常见面试题
  3. day34 并行并发、进程开启、僵尸及孤儿进程
  4. python基础之变量以及if语句
  5. 那些年搞不懂的多线程、同步异步及阻塞和非阻塞(二)---概念区分
  6. 冲刺二阶段-个人总结03
  7. (线段树)hdoj1166-敌兵布阵
  8. LeetCode 475. Heaters
  9. HDU5730 FFT+CDQ分治
  10. oracle11gR2静默安装