Java排序
来源:互联网 发布:淘宝一分钱试用电信卡 编辑:程序博客网 时间:2024/05/29 07:00
1.对基本类型及String类型进行排序
1.2对集合List进行排序
2.对对象类型进行排序
2.1使用Comparable接口实现
2.2使用Comparator接口实现
Comparator是个接口,比较的是两个对象,比较规则用户定义,需重写compare方法.
compare(a,b):根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数。
2.3使用BeanComparator类实现
BeanComparator实际也是实现Comparable接口的,它是BeanUtils API中的一个类,使用它可以很简单地根据任何属性对Bean类进行排序。
导入包
1.1对数组进行排序
import java.util.Arrays;public class testSort {public static void main(String[] args) { String[] str = new String[] {"Jack", "Rose", "Java","Amen","java"}; Arrays.sort(str);//区分大小写排序,升序 for(String s:str)System.out.println("name:"+s);Arrays.sort(str, String.CASE_INSENSITIVE_ORDER);//不区分大小写排序,升序//Collections.reverse(Arrays.asList(str)); //降序,Arrays.asList(str):将数组转化为Listfor(String s:str)System.out.println("name:"+s);}}name:Amenname:Jackname:Javaname:Rosename:java-----------name:Amenname:Jackname:Javaname:javaname:Rose-----------name:Rosename:javaname:Javaname:Jackname:Amen
1.2对集合List进行排序
import java.util.ArrayList;import java.util.Collections;import java.util.List;public class testSort {public static void main(String[] args) {List<String> listNames=new ArrayList<String>();listNames.add("Jack");listNames.add("Rose");listNames.add("Java");listNames.add("Amen");Collections.sort(listNames);for(String s:listNames)System.out.println("name:"+s);}}-----------------name:Amenname:Jackname:Javaname:Rose-----------------
2.对对象类型进行排序
2.1使用Comparable接口实现
public class Name implements Comparable<Name> {public String firstName, lastName;public Name(String firstName, String lastName) {this.firstName = firstName;this.lastName = lastName;}public int compareTo(Name o) {//实现接口int lastNameCmp = lastName.compareTo(o.lastName);return (lastNameCmp != 0 ? lastNameCmp : firstName.compareTo(o.firstName));}public String toString() {return firstName + " " + lastName;}}import java.util.Arrays;public class testSort {public static void main(String[] args) {Name[] nameArray = new Name[] { new Name("Kim", "Lua"),new Name("Hsing", "Hsu"), new Name("James", "Jone"),new Name("Came", "Blue"), new Name("Simmon", "Hsing") };Arrays.sort(nameArray);//若是集合List,则使用Collections.sort(list);for (Name n : nameArray) {System.out.println(n.toString());}}}-------------Came BlueSimmon HsingHsing HsuJames JoneKim Lua
2.2使用Comparator接口实现
Comparator是个接口,比较的是两个对象,比较规则用户定义,需重写compare方法.
compare(a,b):根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数。
public class Name{public String firstName, lastName;public Name(String firstName, String lastName) {this.firstName = firstName;this.lastName = lastName;}public String toString() {return firstName + " " + lastName;}}import java.util.Comparator;public class NameCompare implements Comparator<Name> {public int compare(Name n1, Name n2) {int firstNameCmp = n1.firstName.compareTo(n2.firstName);return (firstNameCmp != 0 ? firstNameCmp : n1.lastName.compareTo(n2.firstName));}}import java.util.Arrays;import java.util.Collections;import java.util.List;public class testSort {public static void main(String[] args) {Name[] nameArray = new Name[] { new Name("Kim", "Lua"),new Name("Hsing", "Hsu"), new Name("James", "Jone"),new Name("Came", "Blue"), new Name("Simmon", "Hsing") };List<Name> list=Arrays.asList(nameArray); //将数组转成ListCollections.sort(list,new NameCompare());for (Name n : nameArray) {System.out.println(n.toString());}}}--------------Came BlueHsing HsuJames JoneKim LuaSimmon Hsing
2.3使用BeanComparator类实现
BeanComparator实际也是实现Comparable接口的,它是BeanUtils API中的一个类,使用它可以很简单地根据任何属性对Bean类进行排序。
导入包
import org.apache.commons.beanutils.BeanComparator;
直接使用
Collections.sort(list, new BeanComparator("firstName"));即可。
- java排序----鸡尾酒排序
- java排序--归并排序
- java排序-希尔排序
- Java 排序 - 冒泡排序
- Java排序 Collections排序
- Java排序--插入排序
- 排序-选择排序-Java
- 排序-插入排序-Java
- 排序-归并排序-Java
- 排序-快速排序-Java
- java排序 -- 堆排序
- JAVA排序
- JAVA排序
- java排序
- java排序
- java排序
- JAVA排序
- java 排序
- 进度条1
- linux下查看eml类型文件
- 蝴蝶兰与鳞托菊
- "data"类型的Url格式
- MSSQL创建Link Server
- Java排序
- 解决eclipse导入程序后提示Target runtime Apache Tomcat v6.0 is not defined.
- Java DecimalFormat使用方法
- db2数据库存储过程入门2
- 做技术型程序员还是做工作型程序员?
- amlogic 8726M3方案基于ffmpeg的html5视频问题调试报告
- fusioncharts属性说明
- HLA中的函数及调用
- socket通信