Java中TreeSet的用法

TreeSet与HashSet的区别在于,TreeSet会自动按自然排序法给元素排序,即1排在2前,a排在b前,但是HashSet是根据元素的hashCode自动给元素排序的.如果我们不需要使用排序功能,应该使用HashSet,因为其性能优于TreeSet.
上代码:


package com.pocketdigi;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.TreeSet;

public class Main {
	static ArrayList list;

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		TreeSet ts=new TreeSet();
		ts.add(new People(5,"zhang"));
		ts.add(new People(3,"wang"));
		ts.add(new People(4,"li"));
		//TreeSet会按自然排序法自动排序,即3在5前,a在b前,如果传入的是自定义的对象,必须让该对象实现 Comparable接口
		Iterator it=ts.iterator();
		//TreeSet同样没有取出元素的方法,只能用迭代器
		while(it.hasNext()){
			System.out.println(it.next());
		}
		//结果按id排,顺序是3,4,5
	}
	
}
class People implements Comparable{
	int id;
	String name;
	People(int id,String name){
		this.id=id;
		this.name=name;
	}


	public String toString(){
		return "id:"+id+" name:"+name;
	}

	@Override
	public int compareTo(Object o) {
		// TODO Auto-generated method stub
		People p=(People)o;
		return id>p.id ? 1:(id

© 2011, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记