Arrays vergleichen

Hi,

hab ein Array:
String s[] = new String[2];
s[0] = „hallo“;
s[1] = „was“;
nun kommt da ein anderes Array ‚s2‘ variabler Länge und ich will nun wissen ob alle Elemente des Arrays ‚s‘ mindestens einmal in ‚s2‘ vorkommen.
Kennt nun jemand eine Funktion, die das tut oder muss ich das von Hand machen?

cu Desian

Hi,

eine Moeglichkeit:

String[] s1 = { "eins", "drei", "vier" };
String[] dynArray = { "eins", "zwei", "drei", "vier", "fuenf" };
List lstDynArray = Arrays.asList(dynArray);
// loop ueber s1
for (int i = 0; i 

Gruss
Patrick

Hi,

so ähnlich hab ichs dann auch gemacht.
Hab nur gehofft es gibt schon eine Funktion dazu.
Mein Source:
public static boolean equealAllEelments(String content[], String needs[])
{
boolean choice = false;
int counter = 0;
int counter2 = 0;

for(counter = 0; counter

Einfacher ist es so:

String[] s1 = { "eins", "drei" };
String[] dynArray = { "eins", "zwei", "drei", "vier", "fuenf" };

List lstS1 = Arrays.asList(s1);
List lstDynArray = Arrays.asList(dynArray);

if (lstDynArray.containsAll(lstS1)) {
 System.out.println("alles drin");
}

Gruss, Patrick

Chick, sowas macht doch das Leben einfacher…
Danke!

cu Desian

Ähm…
Habs mal getestet. Irgendwie gibt es immer true zurück.
Source:
if((Arrays.asList(content)).containsAll(Arrays.asList(needs)))
ist ‚true‘ obwohl es in needs Elemente gibt, die es in content nicht gibt.

cu Desian

Also,

String[] s1 = { "abc", "eins", "zwei", "vier", "fuenf", "sechs", "sieben" };
String[] dynArray = { "eins", "zwei", "vier", "fuenf", "sechs" };
...
Arrays.asList(dynArray)).containsAll(Arrays.asList(s1))

gibt mir false zurueck, da nicht alle Element von s1 in dynArray enthalten sind.
Kannst du mal ein Beispiel posten wie deine Arrays aussehen koennten?
Vielleicht machst du es falsch herum. Ich kann das Problem jedenfalls
nicht richtig nachvollziehen.

Gruss, Patrick

OK,:

String[] needs = {"ID", "USER", "PASS", "GROUP\_ID"};
String[] content = { "USER", "PASS", "GROUPID", "ABTEILUNG"};

wäre aber auch kein Drama, wenns ncht tut. Hab ja inzwischen, ne eigene Funktion dafür.

cu Desian

String[] needs = {„ID“, „USER“, „PASS“, „GROUP_ID“};
String[] content = { „USER“, „PASS“, „GROUPID“, „ABTEILUNG“};

So gibt content.containsAll(needs) bei mir false zurueck.

String[] needs = { "ID", "USER", "PASS", "GROUP\_ID" };
String[] contents = { "USER", "PASS", "GROUPID", "ABTEILUNG", "GROUP\_ID", "ID" };

Hier gibt content.containsAll(needs) true zurueck.

Weiss auch nicht, warum das bei dir nicht funktioniert.

Gruss, Patrick