[学習TreeSetのクラス人工書き込み比較ルール、外部コンパレータコンパレータ]

package com.wyq.Arr;

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

import javax.swing.plaf.synth.SynthScrollBarUI;

public class TestTreeSet {
	public static void main(String[] args) {
		TreeSet<String> set = new TreeSet<String>();
		set.add("hello");
		set.add("world");
		set.add("java");
		set.add("python");
		System.out.println(set.add("hello"));
		System.out.println(set.add("計算甲變成原理"));
		System.out.println("集合中元素的個數為:"+set.size());
		System.out.println("集合中元素是否包含hello:"+set.contains("hello"));
		System.out.println(set.remove("hello"));
		System.out.println("集合是否為空:"+set.isEmpty());
		System.out.println("集合的內容為:"+set);
		System.out.println("遍歷輸出————————————————>");
		for(Object obj:set){
			System.out.println(obj);
		}
		/**
		 * 目前的排序方式是按照字母的首字母進行排序的
		 * 我們的想法是按照字每句的長度進行排序
		 */
		Comparator<String> com = new Compar();
//		TreeSet<String> ts = new TreeSet<String>(com);
		TreeSet<String> ts = new TreeSet<String>();
		ts.add("banana");
		ts.add("peach");
		ts.add("potatoo");
		ts.add("peach");
		ts.add("pink");
		ts.add("apple");
		System.out.println("集合中是否包含apple——>"+ts.contains("apple"));
		System.out.println(ts.ceiling("apple"));
		System.out.println(ts.first());
		System.out.println(ts.floor("banana"));
		System.out.println(ts.higher("banana"));
		System.out.println(ts.last());
		System.out.println(ts.pollFirst());
		System.out.println(ts.lower("banana"));
		System.out.println(ts.comparator());
		System.out.println("元素的个数为:"+ts.size());
		System.out.println("元素的内容为:"+ts);
	}
}
/**
 * 
 * @author administrator
 *使用了比较器的方法
 */
class Compar implements Comparator<String>{

	@Override
	public int compare(String o1, String o2) {
		/**
		 * 最原始的寫法是進行類型轉換
		 */
//		String arr [] = new String []{};
//		String str1 = (String) o1;
//		String str2 = (String) o2;
//		if(str1.length()>str2.length()){
//			return 1;
//		}else if(str1.length()<str2.length()){
//			return -1;
//		}else{
//			return 0;
//		}
		return o1.length()-o2.length();
	}	
}

 

おすすめ

転載: blog.csdn.net/wyqwilliam/article/details/93368042