我有一个链表,我需要写一个方法将输入作为字符串,并检查链表中的所有元素是否匹配,该方法必须返回匹配数。
问题是,我需要引用当前的链表,而不将其作为方法的输入。
public int count(E elem)
{
int count;
for (E list : x)
{
if(this.removeAtHead().equals(elem))
{
count++;
}
else{}
}
return count;
}
我需要用当前的链表替换x。
使用该方法的一个例子是:
public static void main(String[ ] args)
{
LinkedList<String> first = new LinkedList<String>();
first.insertAtTail("abc");
first.insertAtTail("def");
first.insertAtTail("def");
first.insertAtTail("xyz");
System.out.println( first.count("def") ); // prints "2"
first.insertAtTail(null);
first.insertAtTail("def");
first.insertAtTail(null);
System.out.println( first.count("def") ); // prints "3"
System.out.println( first.count(null) ); // prints "2"
}
只需将其设为for (E list : this)
,如下所示:
public int count(E elem)
{
int count;
for (E list : this)
{
if (removeAtHead().equals(elem))
{
count++;
}
}
return count;
}
您是否可以在类中创建一个包含List/或列表列表的私有变量(如果需要跟踪多个列表)。然后,您可以在该类的其他函数中引用该列表,或者使用getter和setter。