更改链表java中的数据

时间:2014-01-26 20:06:24

标签: java linked-list

我正在尝试更改节点的数据部分,但是我在我的集​​上找不到符号错误并获取WordItem类。第一部分是对象类,containsWord在LinkedList类中。任何帮助,将不胜感激。

 public class WordItem implements Comparable {
    private String word;
    private int count;
    private ArrayList<Integer> atLines;

    public WordItem(String word, int c, int atLine) {
        this.word = word;
        this.count = c;
        this.atLines = new ArrayList<Integer>();
        atLines.add(atLine);
    }


    @Override
     public int compareTo(Object other) {
      WordItem w = (WordItem)other;
      return w.getWord().compareTo(this.word);
      }

    public String getWord() {
        return this.word;
    }

    public int getCount() {
        return this.count;
    }

    public void setCount(int count){
      this.count = count;
   }
   public void setAtLines(int line){
      this.atLines.add(line);
   }

public boolean containWord(String word, int atLine){
    Node curr,prev;
    boolean flag = false;
    prev = head;
    for(curr = head.next; curr != null; curr = curr.next){
        if(word.equals(curr.data.getWord())){
            ArrayList<Integer> ara = curr.data.getLines();
            for(int i = 0; i < ara.size(); i++){
                if(ara.get(i) == atLine){
                    curr.data.setCount(curr.data.getCount() + 1);
                    return true;
                }
            }
            curr.data.setAtLines(atLine);
            curr.data.setCount(curr.data.getCount() + 1);
            return true; 
        }
        prev = curr;
    }
    return false;
}

3 个答案:

答案 0 :(得分:0)

我没有在代码中看到任何问题。我跑了,我无法重现错误。

可能是您的IDE卡住了。尝试清理/构建,如果这没有帮助尝试重置/清除缓存(google为此,如何做到这一点与每个IDE不同)。

答案 1 :(得分:0)

根据您发布的代码,没有方法WordItem#getLines()

我认为您可能没有复制问题中的所有代码,只是为了确保您在WordItem类中使用此方法

public ArrayList<Integer> getLines(){
     return atLines;
}

如果没有则接下来的行

ArrayList<Integer> ara = curr.data.getLines();

会失败。

答案 2 :(得分:0)

如果你看到错误的定义,我想你可能在某个地方有一点错字:http://java.about.com/od/cerrmsg/g/Definition-Cannot-Find-Symbol.htm 这可能是问题