Früher habe ich verwenden bin zu eine binäre Suche nach einer sortiert ausführen zu können Liste von, sagen wir, String
s oder Integer
s, mit Code entlang der Linien von:Wie Collections.binarySearch() in einem CodenameOne Projekt
Vector<String> vstr = new Vector<String>();
// etc...
int index = Collections.binarySearch (vstr, "abcd");
ich bin mir nicht klar, wie codenameone Griffe Standard-Java-Methoden und Klassen, aber es sieht so leicht behoben werden könnte, wenn Klassen wie Integer
und String
(oder die codenameone Versionen dieser) die Comparable
Schnittstelle implementiert.
Edit: Ich sehe jetzt, dass Code in den folgenden Zeilen die Arbeit machen wird.
int index = Collections.binarySearch(vstr, "abcd", new Comparator<String>() {
@Override
public int compare(String object1, String object2) {
return object1.compareTo(object2);
}
});
Hinzufügen der Comparable-Schnittstelle (auf die verschiedenen primitiven „Wrapper“) auch auch leichter machen würde, wäre es Collections.sort
zu verwenden (eine weitere sehr nützliche Methode :-))
Ich habe einen Kommentar zum 'Number' Problem hinzugefügt. Ich bin neu in Github und war mir nicht sicher, wo/wie ich die Notwendigkeit von "String" erwähnen sollte, um vergleichbar zu sein, also entschuldige mich, wenn ich Dinge verdummte! – flewby
Danke, das ist gut. Ich hatte gehofft, dass ich das vor 3,6 rausbekomme, aber wir werden es wahrscheinlich früh im 3.7 Zyklus machen. –