我是clusters = KMeans.train(tfidf_vectors, 2, maxIterations=10)
def error(point):
center = clusters.centers[clusters.predict(point)]
return sqrt(sum([x**2 for x in (point - center)]))
WSSSE = tfidf_vectors.map(lambda point: error(point)).reduce(lambda x, y: x + y)
print("Within Set Sum of Squared Error = " + str(WSSSE))
clusters.save(sc, "myModelPath")
sameModel = KMeansModel.load(sc, "myModelPath")
的新手,如何在C#中使用以下通用,我希望与C#
中的Java
语句相同,
C#
上面的 List<? extends MySuperClass> list= new ArrayList<MySubClass>();
允许,我们可以在Java
中实现相同的目标吗?
答案 0 :(得分:4)
C#没有通配符。所以简单的答案是否定的,没有直接的等价物。
但是,我认为在Java中编写这行代码并不是很重要,因为你丢弃了类型信息。你也可以写
List<MySubClass> list = new ArrayList<MySubClass>();
在Java中使用通配符的主要原因是允许方法参数尽可能通用,如下所示:
static void foo(List<? extends MySuperClass> list)
您可以使用C#这样做:
static void foo<T>(IList<T> list) where T : MySuperClass