您的位置:首页 > 其它

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

2015-08-11 10:09 399 查看
package cn.itcast.collections.compare;

import java.util.Comparator;

public class ComparatorByLength implements Comparator<String> {

@Override
public 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);
}
}

}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: