从Set里面取出有序的记录
Set里面的记录是无序的,如果想使用Set,然后又想里面的记录是有序的,就可以使用TreeSet,而不是HashSet,在使用TreeSet的时候,里面的元素必须是实现了Comparable接口的,TreeSet在进行排序的时候就是通过比较它们的Comparable接口的实现!
此外,还讲一点,TreeSet是在以前的老版本的jdk里面定义的,大概1.4以前的吧,是线程安全的,由于是线程安全的,所以,在并发环境下极大的影响了程序的速度!而HashSet是非线程安全的,是为了满足Set的使用和高速的程序访问出现的!
下面是HashSet的无序和TreeSet的有序的比较:
?
Test类:
?
User类:
-----------------HashSet Start------------------ id = 3, username = uname3, password = pswd3 id = 4, username = uname4, password = pswd4 id = 1, username = uname1, password = pswd1 id = 2, username = uname2, password = pswd2 id = 7, username = uname7, password = pswd7 id = 8, username = uname8, password = pswd8 id = 5, username = uname5, password = pswd5 id = 6, username = uname6, password = pswd6 id = 9, username = uname9, password = pswd9 id = 10, username = uname10, password = pswd10------------------HashSet End---------------------------------------TreeSet Start------------------ id = 1, username = uname1, password = pswd1 id = 2, username = uname2, password = pswd2 id = 3, username = uname3, password = pswd3 id = 4, username = uname4, password = pswd4 id = 5, username = uname5, password = pswd5 id = 6, username = uname6, password = pswd6 id = 7, username = uname7, password = pswd7 id = 8, username = uname8, password = pswd8 id = 9, username = uname9, password = pswd9 id = 10, username = uname10, password = pswd10------------------TreeSet End----------------------?
?
?
?
?
?