package newpta; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Scanner; public class Find { public static void main(String[] args) { ArrayList<Words> list = new ArrayList<Words>(); Scanner input = new Scanner(System.in); String str1 = input.nextLine(); String kg[]=str1.split("\\s+"); for(String s:kg) { Words words=new Words(s); list.add(words); } Collections.sort(list, new ByLength()); System.out.println(list.get(list.size()-1).getWord()); } } class Words { String word; Words(String word) { this.word=word; } public String getWord() { return word; } public int getLength() { return word.length(); } } class ByLength implements Comparator<Words> { @Override public int compare(Words o1, Words o2) { if(o1.getLength() == o2.getLength()) { return 0; //返回0,表示人类o1与o2长度一样 }else if(o1.getLength() > o2.getLength()) { return 1; //返回正数,表示01大于o2长度 }else { return -1; //返回负数,表示o1年龄小于o2长度 } } }
自定义类的排序方法需要新建一个排序类,在类中对相应的数据进行排序。