如何检查一组项目中是否存在元素?

Mri*_*lla 32 java collections

ifJava语句中,如何检查对象是否存在于一组项目中.例如,在这种情况下,我需要验证水果是苹果,橙子还是香蕉.

if (fruitname in ["APPLE", "ORANGES", "GRAPES"]) {
    //Do something
}
Run Code Online (Sandbox Code Playgroud)

这是一个非常微不足道的事情,但我无法找到一个简短而简洁的方法来实现这一目标.

Pet*_*rey 45

static final List<String> fruits = Arrays.asList("APPLE", "ORANGES", "GRAPES");

if (fruits.contains(fruitname))
Run Code Online (Sandbox Code Playgroud)

如果您的列表要大得多,那么集合会更有效.

static final Set<String> fruits = new HashSet<String>(
       Arrays.asList("APPLE", "ORANGES", "GRAPES", /*many more*/));
Run Code Online (Sandbox Code Playgroud)


Gar*_*vis 8

为了完整性使用google-collections/guava:

import com.google.common.collect.Sets;

static final Set<String> fruit = Sets.newHashSet("APPLE", "ORANGES", "GRAPES");

if (fruit.contains(fruitname))
Run Code Online (Sandbox Code Playgroud)

或使用飞机旧的jdk类:

static final Set<String> fruit = new HashSet<String>(Arrays.asList("APPLE", "ORANGES", "GRAPES"));
Run Code Online (Sandbox Code Playgroud)