Collections练习之按照字符串长度进行排序
生活随笔
收集整理的這篇文章主要介紹了
Collections练习之按照字符串长度进行排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼需求
? 想從
[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练习之按照字符串长度进行排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从编译安装Keepalived 到 配
- 下一篇: 勾股定理·圓周率·無窮級數·微積分