Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 分拣:组合与外部分拣设施_Java_Sorting_Composition - Fatal编程技术网

Java 分拣:组合与外部分拣设施

Java 分拣:组合与外部分拣设施,java,sorting,composition,Java,Sorting,Composition,在阅读一本书时,我发现了一种对自己的数据集进行排序的解决方案: class QuickSort { public String[] sort(String[] array) { // Implementation } } class MyDataSet { private String array[]; private QuickSort sorting; // Rest of the code here } 我会用这样的东西: cl

在阅读一本书时,我发现了一种对自己的数据集进行排序的解决方案:

class QuickSort {
    public String[] sort(String[] array) {
        // Implementation
    }
}

class MyDataSet {
    private String array[];
    private QuickSort sorting;

    // Rest of the code here
}
我会用这样的东西:

class QuickSort {
    public static MyDataSet sort(MyDataSet) {
        // Implementation
    }
}

class MyDataSet {
    private String array[];

    // Rest of the code here
}

MyDataSet sortedDataSet = quicksort.sort(myDataSetInstance);
在第一种情况下,我将使用组合,在第二种情况下,我将使用完全外部解决方案

第二种情况也类似于集合框架中的Collections.sort()


每种方法的区别和优点是什么?根据上下文的不同,使用哪一个更好?

您尝试对普通字符串数组进行排序,而不是对用户定义对象的集合进行排序。因此,最好的方法是创建一个实用程序类并提供一个静态方法