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
参数。为什么您的构造函数不使用它初始化成员?