集合类List中的元素不能是()
A.Object类的对象
B.Integer类的对象
C.String类的对象
D.基本数据类型的数据
A.Object类的对象
B.Integer类的对象
C.String类的对象
D.基本数据类型的数据
A.add(Object o)
B.add(int index,Object o)
C.remove(Object o)
D.removeLast()
A.ArrayList和LinkedList均实现了List接口
B.ArrayList的查询速度比LinkedList快
C.添加和删除元素时,ArrayList的表现更佳
D.HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
A.所增加的元素只能是一个Object类的对象
B.一个Class类的对象
C.一个Process类的对象
D.任何类的对象
试设计并实现不相交集合类结构,并写出union和find算法。
集合S上的等价关系R指的是满足自反、对称、传递性质的关系,S中具有等价关系R的元素构成的子集称为等价类,S中所有的等价类构成了集合S的一个划分:S中的每一个元素都在且仅在一个等价类中(等价类之间不相交)。
等价类(集合)作为一种抽象数据类型可以定义两种基本操作:find和union。对于S中的元素x,find(x)返回元素x的等价类名;union(i,j)执行的操作是将等价类i和等价类j合并成一个新的等价类。如果要把(a,b)添加到等价关系R中,即定义S中的元素a和b等价,根据等价关系的定义,实际上是将a所在的等价类和b所在的等价类合并。因此首先要分别对a和b进行find操作,看它们是否在同一个等价类。如果它们不在同一个等价类,则执行union(find(a),find(b))操作,将a和b所在的两个等价类合并为一个新的等价类。这样的操作改变了S的划分方法。
A.list集合里面只能存放Person对象
B.list集合里面能存放字符串
C.list集合里面能存放Person的子类对象
D.list集合里面可以存放Object类型的对象