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); } } } } }
相关文章推荐
- Android 2.0 --- 2.3 API变更概要:
- OpenCV的IplImage转bmp
- 语句2
- 我终于会加载模块了 值得纪念!
- Linux查询已开启文件或已运行进程开启之文件fuser,lsof,pidof
- JDK环境变量配置
- Linux查询已开启文件或已运行进程开启之文件fuser,lsof,pidof
- [UVa 11396]Claw Decomposition
- HDU 5343 MZL's Circle Zhou【后缀自动机】
- 通知中心与观察者模式
- UVA - 12186 Another Crisis
- 19-Map集合-12-常用对象API(集合框架-Map集合练习-Map查表法)
- Linux启动过程
- 什么样的商业计划书才是投资人喜欢的
- win server 2003 X64安装.NET4.0遇到阻滞问题解决
- PHP面向对象(OOP):克隆对象__clone()方法
- 音视频
- 完整将PPT转换成为PDF的方法
- IOS学习笔记04-Swift语言与Objective-C语言混合编程
- GenyMotion报错An error occured while deploying a file.INSTALL_FAILED_INVALID_URI