Java 创建在构造函数中具有链表的类

Java 创建在构造函数中具有链表的类,java,Java,我被要求做一些奇怪的事情,我需要创建一个单词集的类(用于拼写检查),我必须使用链接列表来完成 我为构造函数尝试的是: public WordSet(LinkedList<String> list) { LinkedList<String> wordSet = list; } 我必须在单词集中添加一个单词,现在我知道链表已经有了这个功能 但我不知道如何从构造函数中引用链表,因为链表当然没有实例化,也不能实例化,因为它没

我被要求做一些奇怪的事情,我需要创建一个单词集的类(用于拼写检查),我必须使用链接列表来完成

我为构造函数尝试的是:

public WordSet(LinkedList<String> list) {
        
    LinkedList<String> wordSet = list;
        
    }

我必须在单词集中添加一个单词,现在我知道链表已经有了这个功能
但我不知道如何从构造函数中引用链表,因为链表当然没有实例化,也不能实例化,因为它没有Main()方法,我不能从有main方法的类引用它,因为这很混乱。

创建一个LinkedinList作为类,然后尝试将其初始化为构造函数,以便在创建当前类的对象时使用它

 public class WordSet {




 private LinkedList<String> list;

    public WordSet() {
        list = new LinkedList<>();
    }

    public void insertWord(String s){
        list.add(s);
    }
公共类字集{
私有链接列表;
公共词集(){
列表=新的LinkedList();
}
公共void insertWord(字符串s){
列表。添加(s);
}

创建一个链接列表作为一个类,然后尝试将其初始化为构造函数,以便在创建当前类的对象时使用它

 public class WordSet {




 private LinkedList<String> list;

    public WordSet() {
        list = new LinkedList<>();
    }

    public void insertWord(String s){
        list.add(s);
    }
公共类字集{
私有链接列表;
公共词集(){
列表=新的LinkedList();
}
公共void insertWord(字符串s){
列表。添加(s);
}

您可以这样做。首先创建一个类,该类将包含列表中的引用变量,然后创建一个插入新词的方法。创建新对象时,我们希望用户“提供”一个他/她将在以后工作的列表。这意味着每个用户将有不同的列表-这就是为什么我们的构造函数有类型为list的参数

public class Main {

    List<String> words;

    public Main(List<String> words) {
        this.words = words;
    }

    public void insertWord(String s){
        words.add(s);
    }

}
公共类主{
列出单词;
公用干管(列出单词){
这个单词=单词;
}
公共void insertWord(字符串s){
字。加上(s);
}
}
然后创建自己的列表并将该列表放入构造函数中。一旦构建了对象,就可以在列表中插入新词

class Test{

    public static void main(String[] args) {
        List<String> myWords = new LinkedList<>();
        myWords.add("table");
        myWords.add("window");
        myWords.add("car");

        Main obj = new Main(myWords);
        obj.insertWord("carpet");

        //shows all your words
        System.out.println(myWords);
    }
}
类测试{
公共静态void main(字符串[]args){
List myWords=newlinkedlist();
myWords.add(“表格”);
myWords.add(“窗口”);
加上(“汽车”);
Main obj=新的Main(myWords);
obj.插入词(“地毯”);
//说出你所有的话
System.out.println(myWords);
}
}

您可以这样做。首先创建一个类,该类将包含列表中的引用变量,然后创建一个插入新词的方法。创建新对象时,我们希望用户“提供”一个他/她将在以后工作的列表。这意味着每个用户将有不同的列表-这就是为什么我们的构造函数有类型为list的参数

public class Main {

    List<String> words;

    public Main(List<String> words) {
        this.words = words;
    }

    public void insertWord(String s){
        words.add(s);
    }

}
公共类主{
列出单词;
公用干管(列出单词){
这个单词=单词;
}
公共void insertWord(字符串s){
字。加上(s);
}
}
然后创建自己的列表并将该列表放入构造函数中。一旦构建了对象,就可以在列表中插入新词

class Test{

    public static void main(String[] args) {
        List<String> myWords = new LinkedList<>();
        myWords.add("table");
        myWords.add("window");
        myWords.add("car");

        Main obj = new Main(myWords);
        obj.insertWord("carpet");

        //shows all your words
        System.out.println(myWords);
    }
}
类测试{
公共静态void main(字符串[]args){
List myWords=newlinkedlist();
myWords.add(“表格”);
myWords.add(“窗口”);
加上(“汽车”);
Main obj=新的Main(myWords);
obj.插入词(“地毯”);
//说出你所有的话
System.out.println(myWords);
}
}

请提供一个示例来演示您所描述的内容。必须将
单词集
定义为类字段。然后您使用
this.wordSet=list
将通过构造函数传递的参数分配给实例字段。这就够了。谢谢。我知道我在这方面非常愚蠢,但我刚刚在烹调完m之后回到OOP使用Ocaml的y brain。它真的必须是LinkedList吗?使用ArrayList几乎总是更好。看,它真的必须是一个链接列表。我也不知道为什么。请提供一个示例来演示您所描述的内容。
wordSet
必须定义为类字段。然后通过使用
this.wordSet=list
将构造函数添加到实例字段。谢谢。我知道我在这方面很愚蠢,但我只是在用Ocaml烹饪大脑后回到OOP。它真的必须是LinkedList吗?使用ArrayList几乎总是更好的。看,它确实必须是一个链接列表。我真的不知道为什么.OP的构造函数使用
LinkedList
参数。为什么您的构造函数不使用它初始化成员?OP的构造函数使用
LinkedList
参数。为什么您的构造函数不使用它初始化成员?