如何显示每个linkedlist元素的数据?

时间:2018-02-27 17:10:49

标签: java

public class Alimento {

private String nome;
private int quantità;
private String scadenza;
private String tipo;


Alimento(JTextField txt_nome, JTextField txt_quantità, JTextField txt_scadenza, JTextField txt_tipo) {
    setNome(txt_nome.getText()); 
    setQuantità(Integer.parseInt(txt_quantità.getText()));
    setScadenza(txt_scadenza.getText());
    setTipo(txt_tipo.getText());

    /*System.out.println(getNome());
    System.out.println(getQuantità());
    System.out.println(getScadenza());
    System.out.println(getTipo());*/

}

public String getNome(){
    return nome;
}
public int getQuantità(){
    return quantità;
}
public String getScadenza(){
    return scadenza;
}

public String getTipo(){
    return tipo;
}

public String setNome(String name){
    return nome = name;
}

public int setQuantità(int quant){
    return quantità = quant;
}

 public String setTipo(String type){
    return tipo = type;
}

public String setScadenza(String scad){
    return scadenza = scad;
}

}




public class Dispensa{

LinkedList<Alimento> dispensa = new LinkedList<>();

public Dispensa(){}

public void add(Alimento alimento){
  dispensa.add(alimento);
}
public void showList(){
for (int i = 0; i < dispensa.size(); i++)
    System.out.println(dispensa);
}
}

当我尝试显示元素时,我将它们的数字地址显示为(mykitchen.Alimento@10a6cf9e)。我会显示如下内容:

名:...

quantità:...

对于我在链表中​​的每个元素

谢谢你!

1 个答案:

答案 0 :(得分:1)

获取#{1}}之类的对象引用是正常的,因为您为行mykitchen.Alimento@10a6cf9e中的对象调用了toString方法,System.out.println(dispensa);对象是{{} 1 {}} dispensa对象,所以你必须使用List在循环中获取alimento对象,调用你想要的getter。喜欢:

alimento

您还可以在班级中为dispensa.get(index)定义public void showList(){ for (int i = 0; i < dispensa.size(); i++) { Alimento alimento = dispensa.get(i); System.out.println(alimento.getNome()); } } ,这样您就不必致电toString()