第九题(Set集合)

第九题(Set集合)_第1张图片第九题(Set集合)_第2张图片


一、Set集合

Set集合存储的是不重复的元素。

在集合框架里包括以下几个接口

Collection(祖宗),Set(儿子SortedSet,孙子NavigableSet),List,Queue(儿子Deque)

其他的就是抽象类(抽象类的命名都带有Abstract)和具体类

接口:是一种与类相似的结构,只包含常量和抽象方法。接口在许多方面都与抽象类很相似,但是他的目的是指明多个对象的共同行为。

接口是用来定义的,不是用来实例化的。C错误

接下来看看set的实现类,HashSet,LinkedHashSet,TreeSet

HashSet,对Set接口的一个基本实现,实现的都是Collection里定义的方法,如add,size,remove,iterator,contains,toArray等

LinkedHashSet,用一个链表实现对HashSet类的一个扩展,支持对规则集内的元素排序,排序方式是按照插入顺序进行排序,要强加一个不同的顺序(升序或降序),可以是使用TreeSet。对于本题而言,显然输出会是[2,1]

TreeSet,支持排序。这个显然是对的

不过我运行的时候,A,B 都对。(A,B都对,当然只针对这道题而言)

既然出现了SortedList,那就重温下List

二、线性表

线性表不仅可以存储重复的元素,而且还允许用户指定他们的存储位置。

接口List(祖宗Collection)

实现类ArrayList和LinkedList

怎么没有SortedList呢?

查阅API发现,没有它的存在!!!是C#和VB里的“细作“

(或许是我没找到,如果有人发现Java中存在,还请告知,谢谢!!!)



你可能感兴趣的:(第九题(Set集合))