學習下如何使用函數式編程和Comparator接口的使用,並瞭解下compareTo方法編程
public class test5 {app
public static void main(String[] args) { String s1="998"; String s2="99"; String c1=s1+s2; String c2=s2+s1; System.out.println(c1.compareTo(c2)); System.out.println(c2.compareTo(c1)); System.out.println(s1.compareTo(s2)); System.out.println(s2.compareTo(s1));
int a[]=new int[]{1,34,45,34,454,33}; f(a);ide
fs(a); } public static void f(int nums[]){ if(nums.length==0) return; int len =nums.length; String ss[]=new String[len]; for(int i=0;i<len;i++) ss[i]=String.valueOf(nums[i]); Arrays.sort(ss, new Comparator<String>() { [@Override](https://my.oschina.net/u/1162528) public int compare(String o1, String o2) { String c1=o1+o2; String c2=o2+o1; return c1.compareTo(c2); } }); StringBuffer s=new StringBuffer(); for(int i=0;i<len;i++) s.append(ss[i]); System.out.println(s); } public static void fs(int nums[]){ if(nums.length==0) return; int len =nums.length; String ss[]=new String[len]; for(int i=0;i<len;i++) ss[i]=String.valueOf(nums[i]); Arrays.sort(ss,(s3,s4)->{ String c1=s3+s4; String c2=s4+s3; return c1.compareTo(c2); }); StringBuffer s=new StringBuffer(); for(int i=0;i<len;i++) s.append(ss[i]); System.out.println(s); }
}函數式編程