19-集合框架工具类-13-常用对象API(集合框架-工具类-Collections-排序)

来源:互联网 发布:逆战刷枪不封号软件 编辑:程序博客网 时间:2024/05/09 19:05
package cn.itcast.collections.compare;import java.util.Comparator;public class ComparatorByLength implements Comparator<String> {@Overridepublic int compare(String o1, String o2) {int temp = o1.length() - o2.length();return temp == 0 ? o1.compareTo(o2) : temp;}}

======================分割线===================================

package cn.itcast.collections.tool.demo;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import cn.itcast.collections.compare.ComparatorByLength;public class ToolDemo {public static void main(String[] args) {/* * Collections:是集合框架的工具类 *  * 里面的方法都是静态的 */List<String> list = new ArrayList<String>();list.add("abcde");list.add("cba");list.add("aa");list.add("zzz");list.add("cba");//该集合内全部是String类型元素,本身具备比较性(有compareTo方法)list.add("nbaa");System.out.println(list);//对list进行指定顺序排序//Collections.sort(list);mySort(list,new ComparatorByLength());System.out.println(list);//可以对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);}}}}}


0 0
原创粉丝点击