如何在java中创建参数列表为空的方法
我脑子里出了个屁,出于某种原因,我不知道如何编写一个参数为空的方法 我这里有一个方法(空) 这是一个链表,我想删除重复。我有以下其他方法,我正在考虑使用这些方法:如何在java中创建参数列表为空的方法,java,methods,linked-list,Java,Methods,Linked List,我脑子里出了个屁,出于某种原因,我不知道如何编写一个参数为空的方法 我这里有一个方法(空) 这是一个链表,我想删除重复。我有以下其他方法,我正在考虑使用这些方法: public boolean remove(Object element) { Node<T> current = head; if(isEmpty()) { return false; } if(current.getValue()
public boolean remove(Object element) {
Node<T> current = head;
if(isEmpty()) {
return false;
}
if(current.getValue() == element){
head = head.getNext();
size--;
return true;
}
while(current.getNext().getValue() != element) {
current = current.getNext();
if(current == null) {
return false;
}
}
if(current.getNext().getNext() == null) {
tail = current;
}
current.setNext(current.getNext().getNext());
size--;
return true;
}
公共布尔删除(对象元素){
节点电流=头;
if(isEmpty()){
返回false;
}
if(current.getValue()==元素){
head=head.getNext();
大小--;
返回true;
}
while(当前.getNext().getValue()!=元素){
current=current.getNext();
如果(当前==null){
返回false;
}
}
if(current.getNext().getNext()==null){
尾=电流;
}
current.setNext(current.getNext().getNext());
大小--;
返回true;
}
我也有一个set方法等等,但我的问题是,如果没有参数,通常如何编写方法。我只是创建一个新变量吗?如何访问它要我反转的列表?我正在考虑使用for循环来检查重复,然后删除重复元素,但我不确定如何构造for循环。
for(int i=0;i<??;i++)
广义上讲,在Java中,有四种主要的方法可以访问方法内部的变量:
- 提供变量作为参数:
- 将变量设为成员(对于第二个代码段中的
,这似乎是正确的):head
- 局部声明变量,即在方法内部:
- 是否在某个地方静态可用:
我建议您复习一些Java基础知识,它应该会消除您对此的一些误解。根据
remove(Object element)
方法判断,您有一个包含head
和tail
字段以及size
字段的类
如果要将新方法removeepeat()
添加到同一个类中,则可以继续访问这些字段,就像在remove(Object)
方法中一样。
比如说,
public void removeRepeat() {
// Make a method-local copy of the class's "head" field.
Node<T> current = head;
// Iterate through the list here:
while (current != null) {
// do something
current = current.getNext();
}
etc...
}
public void removeRepeat(){
//使方法成为类的“head”字段的本地副本。
节点电流=头;
//在此处遍历列表:
while(当前!=null){
//做点什么
current=current.getNext();
}
等
}
您可以从方法中访问所有实例变量
public void removeRepeat(SomeObject obj)
{
// do something with obj
}
SomeObject obj = new SomeObject();
public void removeRepeat()
{
// do something with obj
}
public void removeRepeat()
{
SomeObject obj = new SomeObject();
// do something with obj
}
// some other class
public class SomeClass
{
public static final Object obj = new SomeObject();
}
...
// then in your class:
public void removeRepeat()
{
SomeObject obj = SomeClass.obj;
// do something with obj
}
public void removeRepeat() {
// Make a method-local copy of the class's "head" field.
Node<T> current = head;
// Iterate through the list here:
while (current != null) {
// do something
current = current.getNext();
}
etc...
}