为什么我们不能在SortedSet接口中使用其他类(如HashSet,HashMap或其他类)代替TreeMap / TreeSet?
import java.util.HashSet;
import java.util.Iterator;
import java.util.SortedSet;
import java.util.TreeSet;
public class SortedSetDemo
{
public static void main(String[] args)
{
SortedSet s=new HashSet();
s.add("Akash");
s.add("Prakash");
s.add("Bhushan");
s.add("Chetan");
System.out.println("SortedSet:");
Iterator itr=s.iterator();
while(itr.hasNext())
{
System.out.println(itr.next());
}
}
}
输出: 线程" main"中的例外情况java.lang.Error:未解决的编译问题: 类型不匹配:无法从HashSet转换为SortedSet
at SortedSetDemo.main(SortedSetDemo.java:10)
答案 0 :(得分:3)
HashSet
未实现SortedSet
接口(HashSet
未排序)。因此,您无法将HashSet
实例分配给SortedSet
变量。
答案 1 :(得分:0)
您必须使用SortedSet
接口。
Set
答案 2 :(得分:0)
因为HashSet
不是SortedSet
。
在the list of HashSet's implemented interfaces中,您找不到SortedSet。
答案 3 :(得分:0)
你不能在散列的refence中创建HashSet的对象。散列的散列.Becoz的散列是没有实现的.RedSet也没有实现SortedSet。你可以使用Set接口代替SortedSet。
Set - > AbstractSet - > HashSet - > LinkedHashSet和
设置 - > SortedSet - > TreeSet
SortedSet / SortedMap是对数据进行排序的接口,这样对于数据排序你可以直接使用TreeSet / TreeMap类becoz这些类直接实现SortedSet / SortedMap