tags:

views:

79

answers:

4

OK let's say I have an array filled with {"tube", "are", "fun"} and then I have a JTextField and if I type either one of those commands to do something and if NOT to get like a message saying "Command not found".

I tried looking in Java docs but all I am getting is things that I don't want like questions and stuff... so, how is this done? I know there is a "in array" function but I'm not too good with combining the two together.

Thanks.

Here is what I have so far:

String[] dan = {"Red", "Orange", "Yellow", "Green", "Blue", "Violet", "Orange", "Blue"};
boolean contains = dan.contains(say.getText());

but I am getting cannot find symbol in dan.contains

+2  A: 

This is what you're looking for:

List<String> dan = Arrays.asList("Red", "Orange", "Yellow", "Green", "Blue", "Violet", "Orange", "Blue");

boolean contains = dan.contains(say.getText());

If you have a list of not repeated values, prefer using a Set<String> which has the same contains method

Pablo Fernandez
yep! see my example. :D
Dan
That's because an array is not a set
Pablo Fernandez
@Dan - BZZZT - you are trying to invoke `contains` on an array, not a `Set`!!!
Stephen C
THANKS SIMPSO- I MEAN PABLO! :D Tahnks Stephen. Rookie mistake.
Dan
+1  A: 

If you can organize the values in the array in sorted order, then you can use Arrays.binarySearch(). Otherwise you'll have to write a loop and to a linear search. If you plan to have a large (more than a few dozen) strings in the array, consider using a Set instead.

Jim Garrison
Erm, would it matter if I said that the array would be permnant and not changed at a order at all? Would there be an easier way than?
Dan
@Dan - I think his first sentence answers that. You do know how to sort strings by hand, don't you?
Stephen C
+1  A: 
String[] a= {"tube", "are", "fun"};
Arrays.asList(a).contains("any");
卢声远 Shengyuan Lu
+1  A: 

Use Arrays.asList() to wrap the array in a List<String>, which does have a contains() method:

Arrays.asList(dan).contains(say.getText())
John Kugelman