一.
我们已经将collection下面左边部分全部讲完了,接下来讲述的就是右边的set部分。
接下来切换到集合框架2。
set存和取的顺序不一致。set:元素不可以重复,是无序的。
学习set集合怎么学?之前已经学了collection和list了,原理都一样,先看这个集合的固定内容。
从它的方法摘要中可以看出,它和collection是一样的。它的方法不用再去学了,因为collection全都讲过了。
接下来学什么呢?接口里面的东西学完后,找它的子类。
它的子类有这么多,其中两个是我们比较常用的,一个叫hashset,另一个叫treeset。这两个是我们以后开发中常用的。之所以有这两个子对象,就是数据结构不一样。它们的数据结构比较特殊,而且较着list结构要复杂的多。
Hashset有什么特点呢?
首先哈希表的概念不知道,再者不保证set迭代顺序,迭代就是取出,不保证取出的顺序。怎么存的不管,但是取的时候不保证和存的顺序一样,这就是无序。
它的底层是通过算法完成的,这算法不是不变的,指不定什么时候升级,这算法就变了。
性能能稳定,意味这运行不是很慢。
接下来将hashset操作一下。
要想使用容器,先要创建一个容器,(先以字符串作为存储的内容,对象一会儿再说)
set集合取出只有一种方式,就是迭代器。
整个输出结果是无序的,那有没有找到有序的呢?(有可能是有序的) 它里面是根据自己的算法输出结果的。
到这里hashset就能用了。之前说不能重复的,看一下结果,四个输入中有一个是重复的。
无论有多少个相同的,就是进不去,不是说丢失数据,而是说这个容器的创建就是保证唯一的。如果说你不需要唯一的话,就不要选择这个集合,应该选择Arrayliset。
无序保证不重复。