Java -- 排序01
来源:互联网 发布:矩阵向量表示方法 编辑:程序博客网 时间:2024/05/17 05:55
Java – 排序01(引用类型中的内置类型)
一.Comparable 接口
二.Comparator 接口(比较器)
public class StringCamp implements Comparator<String>{ @Override public int compare(String o1, String o2) { int len1 = o1.length(); int len2 = o2.length(); return len1 - len2; } }
/** * 数组排序 + Comperator,降序 * */ public static void sort(Object[] arr, Comparator com) { boolean sorted = true; int len = arr.length; for (int j = 0; j < len - 1; j++) { sorted = true; for (int i = 0; i < len - 1 - j; i++) { if (com.compare(arr[i],arr[i + 1]) < 0) { Object temp = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = temp; sorted = false; } } if (sorted) { break; } } }
public static void main(String[] args) { String[] arr1 = {"adaf","aagbl","ceghl"}; sort(arr1,new StringCamp());//根据字符串长度降序排序 System.out.println(Arrays.toString(arr1)); }
三.Collections(类)
1.可以额外提供业务排序类,实现Comparator接口,重写其下的compare方法
public static <T> void sort(List<T> list, Comparator<? super T> com)public class CollectionsDemo { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("a"); list.add("c"); list.add("d"); list.add("e"); list.add("b"); Collections.sort(list,new StringCamp()); System.out.println(list.toString()); }}
2.使用实体类实现lang包下的comparable接口,重写compare to 方法
public static <T extends Comparable<? super T>> void sort(List<T> list) public class CollectionsDemo { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("a"); list.add("c"); list.add("d"); list.add("e"); list.add("b"); Collections.sort(list); System.out.println(list.toString()); }}
0 0
- java实现01排序
- Java -- 排序01
- 01排序的Java实现
- java排序----鸡尾酒排序
- java排序--归并排序
- java排序-希尔排序
- Java 排序 - 冒泡排序
- Java排序 Collections排序
- Java排序--插入排序
- 排序-选择排序-Java
- 排序-插入排序-Java
- 排序-归并排序-Java
- 排序-快速排序-Java
- java排序 -- 堆排序
- JAVA排序
- JAVA排序
- java排序
- java排序
- 错误:error C2664:不能将参数1从“std::map<_kty,_Ty>”转换为"std::map<_kty,_Ty>"
- 爬取京东图书列表页图片
- Bootstrap的160个小图标和使用
- 代码实现获取Android内核版本
- zkw最小费用流
- Java -- 排序01
- js中的对象/this/原型/原型链
- 软件设计师考试:如何计算圈复杂度?
- 【Unity&JSON】LitJson的多对象读写(1)
- 3.配置hive环境
- grunt构建工具安装
- cmd10与16进制的相互转换
- Android-View 的工作原理
- Web优化之雪碧图