package text;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
/**
* 引用类型之间的比较排序
*
* @author Lenovo
*
*/
public class Demo1 {
public static void main(String[] args) {
System.out.println("======使用Comparator排序数组=========");
String[] arr= {"kah","iii","ksue","idi"};
Utils.sorts(arr,new utils2());
System.out.println(Arrays.toString(arr));
System.out.println("========list排序+比较器=============");
List list=new ArrayList();
list.add("kah");
list.add("iii");
list.add("ksue");
list.add("idi");
Utils.sort(list,new utils2());
System.out.println(list);
}
}
======================================================================
package text;
import java.util.Comparator;
import java.util.List;
/**
* 排序类
* @author Lenovo
*
*/
public class Utils {
/**
* 容器排序(泛型)+Comparator接口
*/
public static> void sort(List list,Comparator com) {
//将list转换成数组
Object[] arr=list.toArray();
sorts(arr, com);
//改变容器中的值
for(int i=0;i void sorts(Object[] arr,Comparator com) {
Boolean reslt=true;
int len=arr.length;
for(int j=0;j0){
Object temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
reslt=false;
}
}
if(reslt) {
break;
}
}
}
/**
* 容器排序(泛型)+comparble接口----》基本类型
*/
public static> void sort(List list) {
//将list转换成数组
Object[] arr=list.toArray();
arr(arr);
//改变容器中的值
for(int i=0;i> void arrs(T[] arr) {
Boolean reslt=true;
int len=arr.length;
for(int j=0;j0) {//按照unicode码来排序
T temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
reslt=false;
}
}
if(reslt) {
break;
}
}
}
/**
* 从小到大排序
* @param arr
*/
public static void arr(Object[] arr) {
Boolean reslt=true;
int len=arr.length;
for(int j=0;j0) {//按照unicode码来排序
Object temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
reslt=false;
}
}
if(reslt) {
break;
}
}
}
================================================================================================
package text;
import java.util.Comparator;
/**
* 排序规则类(降序)
* @author Lenovo
*
*/
public class utils2 implements Comparator{
//按长度排序
@Override
public int compare(String o1, String o2) {
int len1=o1.length();
int len2=o2.length();
return len1-len2;
}
================================================================================================
package text;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* collection提供了大量的处理容器的方法
* @author Lenovo
*
*/
public class Demo2 {
public static void main(String[] args) {
List list=new ArrayList();
list.add("kah");
list.add("iii");
list.add("ksue");
list.add("idi");
Collections.sort(list,new utils2());
System.out.println(list);
}
}