Sets的使用

Set拥有与Collection完全相同的接口,所以和两种不同的List不同,它没有什么额外的功能。相反,Set完全就是一个Collection,只是具有不同的行为。在这里,一个Set只允许每一个对象存在一个实例。

Set(接口)添加到Set的每个元素都必须是独一无二的,否则Set就不会添加重复的元素。添加到Set里的对象必须定义equals(),从而建立对象的唯一性,一个Set不能保证自己可按任何特定的顺序维护自己的元素

HashSet*用于除非常小的以外的所有Set,对象也必须定义hashCode();使用散列函数进行排序,这是特别为快速检索设计的。

ArraySet 由一个数组后推得到得Set,面向非常小得Set设计,特别是那些需要频繁创建和删除的。对于小Set,与HashSet相比,ArraySet创建和反复所需付出得代价都小得多。但随着Set得增大,它的性能也会大打折扣不需要HashCode()。

TreeSet 由一个“红黑树”后推得到得顺序Set,这样一来,我们就可以从一个Set里提到一个顺序集合

(例程:Set1, Set2)

猜你喜欢

转载自blog.csdn.net/qq_37003223/article/details/81170077
今日推荐