1. 程式人生 > >TreeSet方法之一 向TreeSet中新增的元素

TreeSet方法之一 向TreeSet中新增的元素

package andycpp;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

import org.junit.Test;

/**
 * Collection介面:
 * 		List介面
 * 				ArrayList(主要的實現類)
 * 				LinkedList(對於頻繁的插入刪除操作)
 * 				Vector(古老的實現類,執行緒安全,但效率要低於ArrayList)
 * 		Set介面	儲存無序,不可重複的元素.Set中常用的方法都是Collection下定義的。
 * 				HashSet(主要實現類)
 * 				LinkedHashSet
 * 				TreeSet
 * */
public class TestSet {
	/*
	 * 
	 */
	@Test
	public void testTreeSet1(){
		Set set = new TreeSet();
		set.add(123);
		set.add(456);
		set.add(new String("AA"));
		set.add(new String("AA"));
		set.add("BB");

		
		
	}
}
控制檯輸出:

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String

型別不相容

package andycpp;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

import org.junit.Test;

/**
 * Collection介面:
 * 		List介面
 * 				ArrayList(主要的實現類)
 * 				LinkedList(對於頻繁的插入刪除操作)
 * 				Vector(古老的實現類,執行緒安全,但效率要低於ArrayList)
 * 		Set介面	儲存無序,不可重複的元素.Set中常用的方法都是Collection下定義的。
 * 				HashSet(主要實現類)
 * 				LinkedHashSet
 * 				TreeSet
 * */
public class TestSet {
	/*
	 * 向TreeSet中新增的元素必須時同一個類。同一型別。
	 */
	@Test
	public void testTreeSet1(){
		Set set = new TreeSet();
		set.add(new String("AA"));
		set.add(new String("AA"));
		set.add("JJ");
		set.add("GG");
		set.add("MM");
		for(Object str :set){
			System.out.println(str);
		}


		
		
	}
}

輸出

AA
GG
JJ
MM