2012-04-09 6 views
0

Ich habe den Inhalt einer Tabelle in Array von Objekt abgerufen. Und das Objekt hält die Spalten der Tabelle COUNTRYCODES in seinen eigenen Datenmitgliedern, deren Namen sind: startingRange, endingRange und countryCode.Wie binäre Suche in einem Array von Objekten in Java anwenden?

Tatsächlich beschreibt die Tabelle die Ländercodes, die dem Bereich von startingRange und endingRange der Tabelle entsprechen. Jetzt habe ich diese Tabelle in einem Array von Objekten mit dem Namen countryCodes [] gespeichert. Ich muss den Ländercode aus dem Array suchen, indem ich einen Bereich gebe, der zwischen jedem Bereich liegen kann (d. H. Zwischen jedem StartingRange und EndingRange).

Um dies zu tun, möchte ich die binäre Suche verwenden, weil ich nicht nach dem Landcode Standort nach Ort suchen möchten. Um den Suchaufwand zu minimieren, möchte ich die binäre Suche verwenden. Bitte helfen Sie, indem Sie mich führen.

Vielen Dank.

+0

Was sind countryCodes, startingRange, endingRange? Was sind ihre Datentypen? – st0le

+0

Haben Sie darüber nachgedacht, mit der DB-Abfrage nur die Elemente abzurufen, bei denen der Ländercode Ihrer Suche entspricht? Indem Sie Ihre Suchanfrage mit Ihrer Suche zusammenführen, die sie möglicherweise effizienter macht. –

Antwort

1

Ihre Frage ist ein wenig vage, aber was kann man tun ist:

Unter der Annahme, dass das Array bereits sortiert, können Sie den Arrays.binarySearch Mechanismus verwenden, um eine binäre Suche auf dem Array auszuführen.