1. 程式人生 > >字串的連線最長路徑查詢(使用TreeSet集合的比較器new Comparator(){ }:匿名內部類方法)

字串的連線最長路徑查詢(使用TreeSet集合的比較器new Comparator(){ }:匿名內部類方法)

按照字串的字典順序比較,且不去重


import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;

public class Main {

	/*

import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;

public class Main {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		
		while(sc.hasNext()) {
			int n=Integer.parseInt(sc.nextLine());
			
			TreeSet<String> ts = new TreeSet<>(new Comparator<String>() {

				public int compare(String s1, String s2) {
					int num = s1.compareTo(s2);					//比較內容為主要條件
					return num == 0 ? 1 : num;					//保留重複
				}
			});
			
			int i=0;
			while(i<n) {
				ts.add(sc.nextLine());
				i++;
			}
			
			for (String string : ts) {
				System.out.println(string);
			}
		}
	}

}
*/
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in); 
		while(sc.hasNext()) {
			int n=Integer.parseInt(sc.nextLine());
			TreeSet<String> ts=new TreeSet<String> (new Comparator<String>(){

				@Override
				public int compare(String o1, String o2) {
					int num=o1.compareTo(o2);
					return num==0?1:num; //不去重
					//return num;  不保留重複 用例只通過60%
				}
				
			});
			
			int i=0;
			while(i<n){
				ts.add(sc.nextLine());
				i++;
			}
			
			for (String string : ts) {
				System.out.println(string);
			}
		}

	}

}