सरल समाधान
बस java.lang लागू।निम्नलिखित की तरह आप कक्षा में तुलनीय इंटरफ़ेस:
class MyStruct implements Comparable<MyStruct>{
public Boolean GUI;
public float CallTime;
public String ReqID;
public String ReqGUID;
public String Stereotype;
public String StereotypeGUID;
@Override
public int compareTo(MyStruct other) {
return ReqID.compareTo(other.ReqID);
/* also you can use ReqID.compareToIgnoreCase(other.ReqID); */
}
@Override
public String toString() {
return "(" + ReqID + ")";
}
}
अवहेलना भी() बस मुद्रण के लिए ToString विधि।
इसके अलावा, कि lexicographical आदेश का उपयोग कर स्ट्रिंग के compareTo() विधि प्रकार को ध्यान में रखना। यदि आप संख्यात्मक आईडी चाहते हैं तो int या अन्य संख्यात्मक प्रकार का उपयोग करना बेहतर है। बाद Arrays.sort() के साथ-साथ Collections.sort() का उपयोग कर सॉर्ट करने के लिए पूरा कोड है - चुनें जो सूट आप :)
public class MyStructSort {
private final static String[] STRUCT_IDS = {"C", "D", "A", "Aa", "B", "Z", "Aaa" };
private static List<MyStruct> createList() {
List<MyStruct> structList = new ArrayList<MyStruct>();
for (String id: STRUCT_IDS) {
MyStruct struct = new MyStruct();
struct.ReqID = id;
structList.add(struct);
}
return structList;
}
public static void main(String[] args) {
List<MyStruct> dataList = createList();
/* Sort using Lists (Collections) */
Collections.sort(dataList);
System.out.println("List sort:\t" + dataList);
/* Sort using arrays */
MyStruct[] dataArray = dataList.toArray(new MyStruct[dataList.size()]);
Arrays.sort(dataArray);
// print sorted array
System.out.print("Array sort:\t");
for (MyStruct struct: dataArray) {
System.out.print(struct+" ");
}
}
}
यह सिर्फ प्रदर्शन कोड है, इसलिए कुछ अशक्त-चेक और getters और setters है इसे सही बनाने के लिए जरूरी होगा।
मैं सुझाव देता हूं कि 'बूलियन' के बजाय 'बूलियन' का उपयोग करने पर विचार करें, 'फ्लोट' के बजाय 'डबल' का उपयोग करें, फ़ील्ड 'अंतिम' और 'निजी' या पैकेज-लोकल को यदि आप कर सकते हैं। –