Collections练习之按照字符串长度进行排序
2017-09-22 20:09
585 查看
不多说,直接上干货!
[b]代码需求[/b]
想从
变成
[b]CollectionsDemo.java[/b]
[b]ComparatorByLength.java[/b]
[b]代码需求[/b]
想从
[abcde, cba, aa, zzz, cba, nbaa]
变成
[aa, cba, cba, zzz, nbaa, abcde]
[b]CollectionsDemo.java[/b]
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); } } } } }
[b]ComparatorByLength.java[/b]
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; } }
相关文章推荐
- 【php】将php中的数组元祖按照字符串长度进行排序
- 一月十日练习习题,1数组数据存入字典并输出2降序 和倒叙 输出数组中内容3对字符串当中信息进行查找是否存在4 把数组当中信息按照中文排序
- perl按照字符串长度进行排序,sort函数的示例
- 《黑马程序员》 TreeSet集合练习之 按照字符串长度排序
- TreeSet按照字符串长度进行排序
- 将字符串按长度进行倒序排序——传入Collections.reverseOrder一个已有比较器
- Java TreeSet集合排序 && 定义一个类实现Comparator接口,覆盖compare方法 && 按照字符串长度排序
- 随机生成10条不重复长度为10以内的字符串,进行排序
- 从键盘输入一个字符串,按照字符顺序从小到大进行排序,并要求删除重复的的字符。
- mysql将数字组成的字符串字段按照字符串数值型的大小进行排序
- mysql将数字组成的字符串字段按照字符串数值型的大小进行排序
- 按照字典顺序对字符串数组进行从大到小的排序。
- Java——String练习1:将一个字符串"abcd_itcast"按照长度由长到短打印出来
- JavaString练习2:对字符串中字符进行自然顺序排序
- 按照字符串的长短进行排序
- 【Java学习】Java按照字符串长度排序
- C++ 字符串序列 进行长度 排序的同时,保持字典序排序
- Java:集合,对列表(List)中的数据(整型、字符串、日期等)进行排序(正序、倒序)的方法;字符串按照整型排序的方法
- java 给定一个字符串数组。按照字典顺序进行从小到大的排序。
- Collections.sort()对HashMap里的键值对按照键进行排序