public IClusterCalculable[][] getResult() {
        //根据Tmatrix来输出结果
        HashMap<Integer, ArrayList<IClusterCalculable>> clusterMap = new HashMap<Integer, ArrayList<IClusterCalculable>>();
        for (int i = 0; i < dNum; i++) {
            IClusterCalculable data = oriDatas[i];
            data.setTypeID(Tmatrix[i]);
            if (clusterMap.containsKey(Tmatrix[i])) {
                ArrayList<IClusterCalculable> list = clusterMap.get(Tmatrix[i]);
                list.add(data);

            } else {
                ArrayList<IClusterCalculable> newlist = new ArrayList<IClusterCalculable>();
                newlist.add(data);
                clusterMap.put(Tmatrix[i], newlist);
            }
        }
//        Collections.sort(oriDatas, BasicUtils.typeSorter);
        IClusterCalculable[][] result = new IClusterCalculable[clusterMap.size()][];
        int count = 0;
        for (Map.Entry<Integer, ArrayList<IClusterCalculable>> entry : clusterMap.entrySet()) {
            ArrayList<IClusterCalculable> arrayList = entry.getValue();
            IClusterCalculable[] array = new IClusterCalculable[arrayList.size()];
            for (int i = 0; i < array.length; i++) {
                array[i] = arrayList.get(i);
            }
            result[count] = array;
            count++;
        }
        return result;
    }