首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

从Set里头取出有序的记录

2012-12-26 
从Set里面取出有序的记录Set里面的记录是无序的,如果想使用Set,然后又想里面的记录是有序的,就可以使用Tre

从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----------------------

?

?

?

?

?

?

热点排行