Hi leute,
wie der Theardname schon sagt suche ich eine möglichkeit aus meinem array wo auch mehrmals werte doppelt auftauchen die doppelten zu entfernen
Hat jemand eine lösung ?
mfg Joman
Druckbare Version
Hi leute,
wie der Theardname schon sagt suche ich eine möglichkeit aus meinem array wo auch mehrmals werte doppelt auftauchen die doppelten zu entfernen
Hat jemand eine lösung ?
mfg Joman
Du müsstest ja eigentlich jedes mit jedem vergleichen um Doppelte zu finden. Ich würde das Array erstmal versuchen zu sortieren und dann jeweils folgende Werte miteinander zu vergleichen...
Das ist für .NET solltest aber hin bekommen.
Code:Dim ObjektArrayList As Object
Dim Array() As Object
ObjektArrayList = CreateObject("System.collections.arraylist")
Array = TextBox2.Lines
For Zahl = 0 To UBound(Array)
If ObjektArrayList.Contains(Array(Zahl)) = False Then
ObjektArrayList.Add(Array(Zahl))
If InStr(LCase((Array(Zahl))), ":") Then
ListBox.Items.Add(Array(Zahl))
End If
End If
Next
Die (bei vielen Einträgen) performanteste (nicht speicherschonenste!) Methode wäre wohl über den Umweg mit einer Hashtable (Einfügen bestenfalls konstante Zeit).
Das dürfte in den meisten Fällen etwas schneller sein als Sortieren und Vergleichen.
Das kommt wohl darauf an, um welche Werte es sich handelt und ob deren Hash bei Erzeugung errechnet werden kann. Einen 32bit-Wert über einen CRC32 zu indizieren macht beispielsweise wenig Sinn - übertrieben, aber der Gedanke sollte klar sein.
@blackhook
funtzt leider nicht
hat noch jemand eine andere idee?
Hab im dem Array links stehen und ist ein string array
l0dsb, stimmt. Ich bin einfach mal, genau wie mein Vorposter, davon ausgegangen, dass es sich um strings handelt.
Naja, so wie es aussieht will Joman einen fertigen, funktionierenden Code zum copy und pasten haben...
oder eben beispiele wie mans machen kann , versuch mal (kann leider nur java) jede zahl in nen index zu schreiben , also für jede zahl nen index anzulegen folglich:
array:1,2,2,2,2,3,4,5,5,6,6,7,7,8,9,9
jetzt dann :
wenn 1 nochmal im array enthalten ist --> löschen (weis ja nicht ob nen defaultwert machen willst doer so (dann vllt ne andere zahl zuweisen? oder halt löschen)
wenn 2 nochmal vorhaneden ist das selbe etc....
Na ja, ich glaube schon dass man aus meiner Vorlage was basteln kann.
Ich werde aber keine fertige Vorlage erstellen, ein wenig Selbstinitiative solltest du schon zeigen.
Damit gehst du die ganzen Zeilen im Array durch
For Zahl = 0 To UBound(Array)
Next Zahl
Alles Weitere in der Schleife ist ein Vergleich, falls vorhanden dann weglassen ansonsten aufnehmen.
Ich wüsste nicht wo dein Problem ist, es sei denn du hast gar keine Ahnung was du tust, dann solltest du paar Grundkenntnisse erlernen.