未填充ArrayList

时间:2016-04-16 05:57:23

标签: java arrays sorting arraylist

我有点像Java菜鸟,所以任何帮助都表示赞赏。我有一个方法,它应该按字母顺序取一个char值和一个单词的Arraylist,并返回列表中以char字母开头的所有字符串。我没有收到任何错误消息,但我的方法不断返回一个空的ArrayList。为什么我的名单没有填写?

 public String singlePhrase(char c, ArrayList<String> wordList){

  ArrayList<String> words = new ArrayList<String>();      
  for (int i = 0; i < wordList.size(); i++) { 
     if (wordList.get(i).charAt(0) == c){
        words.add(wordList.get(i));
     }
  }

  return "Size: "+words.size() + " "+c;             
}

2 个答案:

答案 0 :(得分:1)

如果您想要返回ArrayList个单词,请使用以下内容:

public ArrayList<String> singlePhrase(char c, ArrayList<String> wordList) {
    ArrayList<String> words = new ArrayList<String>();
    for (int i = 0; i < wordList.size(); i++) {
        if (Character.toLowerCase(wordList.get(i).charAt(0)) == Character.toLowerCase(c)) {
            words.add(wordList.get(i));
        }
    }
    return words;
}

请注意,它会比较两个字符的小写版本。

答案 1 :(得分:0)

谢谢大家的帮助,但答案太简单了。在正在解析的.txt文件中,所有字符串都以大写字母开头。测试输入全部为小写,导致'=='为false,if()语句永远不会被触发。