java - 当LinkedList是用户定义对象类型时,我们如何在java中迭代LinkedList?

标签 java

我正在尝试打印添加到链接列表中的对象的内容。在这段代码中,我预期的o/p是:100 20 300,但我得到:300 300 300。我哪里出错了?

import java.util.*; 
import java.lang.*; 
import java.io.*; 


class Body{ 
 int i; 
 public void setB(int i){ 
 this.i = i; 
 } 
} 
class Ideone 
{ 
  public static void main (String[] args) throws java.lang.Exception 
  { 




  Body b = new Body(); 
  Body bdum; 

  LinkedList<Body> l = new LinkedList<Body>(); 

  b.setB(100); 
  l.add(b); 

  b.setB(20); 
  l.add(b); 

  b.setB(300); 
  l.add(b); 

  Iterator<Body> li = l.iterator(); 

  System.out.println(l.size()); 
  System.out.println("List is:"); 

  while(li.hasNext()){ 
  bdum = li.next(); 

  System.out.println(bdum.i); 
} 

} 
}

最佳答案

您创建一个 Body 对象并将其添加到列表中三次。您应该创建三个不同的对象。即:

b.setB(100); 
l.add(b); 

b = new Body();
b.setB(20); 
l.add(b); 

b = new Body();
b.setB(300); 
l.add(b); 

关于java - 当LinkedList是用户定义对象类型时,我们如何在java中迭代LinkedList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20006800/

相关文章:

java - JSOUP 生成 css 路径和空格

java - 本地主机上的服务器 tomcat v8.0 服务器无法启动

java - 在java中,每个类都扩展了Object。那么它如何扩展其他类。因为一个类只能扩展单个类

java - 当使用post方法登录时,如何用Java登录网页并获取其html代码?

java - Joda Time 从 Year + WeekOfYear + DayOfWeek 获取日期

java - 通过 Java 使用 OAuth

java - Excel 函数 STEYX 转 Java

java - 尝试通过 ant 脚本运行 Java 服务器时无法分配请求的地址

java - 从 Java/JT400 SQL 语句触发 DB2/OS/400 触发器

java - LibGDX Scene2D 除了将所有内容乘以常数之外,还有一种不同的实现 GUI 比例设置的方法吗?