无论如何在java中看看变量是否与单词列表匹配?

时间:2014-01-02 19:31:00

标签: java list variables

在java中是否有任何方法可以检查单词列表以查看变量是否与其中任何一个匹配,如果是,我想增加计数器。我知道我创建了很多if语句,但我认为某种列表会使程序更容易导航。 例如,如果变量1等于列表增量正值中的任何值。

String  vbl1 = "happy";

然后我会有一些列表如:

list 1: 

joyful
great
excited
happy

先谢谢你们。

4 个答案:

答案 0 :(得分:3)

使用java.util.List或实现java.util.Collection的任何其他数据结构。正如评论中所建议的那样,如果排序无关紧要,java.util.Set可能更适合。

您可以使用contains()方法检查列表中是否存在给定项目。

List<String> list = new ArrayList<>();
list.add("joyful");
list.add("great");
list.add("excited");
list.add("happy");
boolean contains = list.contains("happy");

答案 1 :(得分:2)

忽略你可以做的案例

list.contains(yourWord)

如果匹配则返回true,这样你就可以递增计数器。

如果你想考虑案例,我认为最清楚的方法是循环列表并在列表中的每个项目上调用equals

编辑:根据另一个答案中的评论,一组可能更清晰,更有效,因为它会删除您列表中的任何重复项(虽然不能保证订单 )

答案 2 :(得分:1)

是的,也许是这样的

public static void main(String[] args) {
  String[] words = { "joyful", "great", "excited",
      "happy" };
  java.util.List<String> list1 = java.util.Arrays
      .asList(words);
  String vbl1 = "happy";
  if (list1.contains(vbl1)) {
    System.out.printf("%s contains %s\n",
        java.util.Arrays.toString(words), vbl1);
  } else {
    System.out.printf("%s does not contain %s\n",
        java.util.Arrays.toString(words), vbl1);
  }
}

哪个输出

[joyful, great, excited, happy] contains happy

答案 3 :(得分:0)

String[] words  = { "joyful", "great", "excited","happy" };
String matchStr = "happy"; 
for(String i:words){
     if(i.equals(matchStr)){
           // Increment Counter Here
     }
}