print() 函数打印列表中每个元素的内容

2023-12-19

基本上,我正在尝试编写一个打印语句,该语句允许我在运行 driver.java 时将每行的元素作为 println 打印为输出。我一生都不知道该怎么做。任何帮助将不胜感激。

这是driver.java

public class Driver {

public static void main(String args[]){



    LList<String> s_list = new LList<String>();

    s_list.insert("New York, 8.4M");
    s_list.insert("Los Angeles 3.8M");
    s_list.insert("Chicago, 2.7M");
    s_list.insert("Houston, 2.1M");
    s_list.insert("Philadelphia, 1.55M");
    s_list.insert("Phoenix, 1.51M");
    s_list.append("San Antonio, 1.4M");
    s_list.append("San Diego, 1.35M");
    s_list.append("Dallas, 1.25M");
    s_list.append("San Jose, 0.998M");
    s_list.append("Austin, 0.88M");
    s_list.append("Indianapolis, 0.84M");
    s_list.append("Jacksonville, 0.84M");
    s_list.append("San Francisco, 0.83M");
    s_list.append("Columbus, 0.82M");
    s_list.append("Charlotte, 0.79M");

    s_list.print();
    s_list.moveToPos(3);
    s_list.remove();
    s_list.print();
    s_list.moveToEnd();
    s_list.remove();
    s_list.print();
    s_list.moveToStart();
    s_list.remove();
    s_list.remove();
    s_list.print();
    s_list.clear();
    s_list.print();


}

}

我有一个名为 LList.java 的 java 文件

我试图编写一个 print 方法,它将 print() 函数打印列表中每个元素的内容;每行打印一个元素。

public void print { 

}   

那么,我将如何每行打印“s_list”行中的元素作为输出。

任何帮助表示赞赏。


更新:我将在这里发布 Llist.java、list.java 和 link.java

列表java

 /** Linked list implementation */ 

 class LList<E> implements List<E> { 
 private Link<E> head; // Pointer to list header 
 private Link<E> tail; // Pointer to last element 
protected Link<E> curr; // Access to current element 
 private int cnt; // Size of list 
 /** Constructors */ 
 LList(int size) { this(); } // Constructor -- Ignore size 
 LList() { 
 curr = tail = head = new Link<E>(null); // Create header 
  cnt = 0; 
 } 
/** Remove all elements */ 
public void clear() { 
head.setNext(null); // Drop access to links 
curr = tail = head = new Link<E>(null); // Create header 
cnt = 0; 
} 
/** Insert "it" at current position */ 
public void insert(E it) { 
curr.setNext(new Link<E>(it, curr.next())); 
if (tail == curr) tail = curr.next(); // New tail 
cnt++; 
} 
/** Append "it" to list */ 
public void append(E it) { 
tail = tail.setNext(new Link<E>(it, null)); 
cnt++; 
} 
/** Remove and return current element */ 
public E remove() { 
if (curr.next() == null) return null; // Nothing to remove 
 E it = curr.next().element(); // Remember value 
 if (tail == curr.next()) tail = curr; // Removed last 
curr.setNext(curr.next().next()); // Remove from list 
cnt--; // Decrement count 
return it; // Return value 
} 
/** Set curr at list start */ 
public void moveToStart() 
{ curr = head; } 

/** Set curr at list end */ 
public void moveToEnd() 
{ curr = tail; } 
/** Move curr one step left; no change if now at front */ 
public void prev() { 
if (curr == head) return; // No previous element 
Link<E> temp = head; 
// March down list until we find the previous element 
while (temp.next() != curr) temp = temp.next(); 
curr = temp; 
} 
/** Move curr one step right; no change if now at end */ 
public void next() 
{ if (curr != tail) curr = curr.next(); } 
/** @return List length */ 
public int length() { return cnt; } 
/** @return The position of the current element */ 
public int currPos() { 
    Link<E> temp = head; 
    int i; 
    for (i=0; curr != temp; i++) 
        temp = temp.next(); 
    return i; 
} 
/** Move down list to "pos" position */ 
public void moveToPos(int pos) { 
    assert (pos>=0) && (pos<=cnt) : "Position out of range"; 
    curr = head; 
    for(int i=0; i<pos; i++) curr = curr.next(); 
} 
/** @return Current element value */ 
public E getValue() { 
    if(curr.next() == null) return null; 
    return curr.next().element(); 
}

public void print()
{

}   

}

列表.java

/** List ADT */ 
public interface List<E> { 
    /** Remove all contents from the list, so it is once again 
empty. Client is responsible for reclaiming storage 
used by the list elements. */ 
    public void clear(); 
    /** Insert an element at the current location. The client 
must ensure that the list�s capacity is not exceeded. 
@param item The element to be inserted. */ 
    public void insert(E item); 
    /** Append an element at the end of the list. The client 
must ensure that the list�s capacity is not exceeded. 
@param item The element to be appended. */ 
    public void append(E item); 
    /** Remove and return the current element. 
@return The element that was removed. */ 
    public E remove(); 
    /** Set the current position to the start of the list */ 
    public void moveToStart(); 
    /** Set the current position to the end of the list */ 
    public void moveToEnd(); 
    /** Move the current position one step left. No change 
if already at beginning. */ 
    public void prev(); 
    /** Move the current position one step right. No change 
if already at end. */ 
    public void next(); 
    /** @return The number of elements in the list. */ 
    public int length(); 
    /** @return The position of the current element. */ 
    public int currPos(); 
    /** Set current position. 
@param pos The position to make current. */ 
    public void moveToPos(int pos); 
    /** @return The current element. */ 
    public E getValue(); 
} 

链接.java

/** Singly linked list node */ 
class Link<E> { 

    private E element; // Value for this node 
    private Link<E> next; // Pointer to next node in list 
    // Constructors 
    Link(E it, Link<E> nextval) 
    { element = it; next = nextval; } 
    Link(Link<E> nextval) { next = nextval; } 
    Link<E> next() { return next; } // Return next field 
    Link<E> setNext(Link<E> nextval) // Set next field 
    { return next = nextval; } // Return element field 
    E element() { return element; } // Set element field 
    E setElement(E it) { return element = it; } 
} 

我们需要查看 LList.java 类的内部...但现在我假设 LList 扩展了 List [或 ArrayList 等..]

public void print
{
     for(int i = 0; i < this.size(); i++)  //this really depends on how you store your list
          System.out.println(this.get(i));
}

这一切都取决于您的 LList.java 的外观... [this.size()] 引用 List 或 ArrayList 类 [如果您扩展了它...]。

如果你不扩展 List 或类似的东西,你总是可以这样做:

public void print
{
     for(int i = 0; i < storingArray.size(); /*or .length*/ i++)
          System.out.println(storingArray.get(i)); /*or storingArray[i]*/
}

但与往常一样,您可以采取简单的方法:

list.foreach(System.out::println); //must have Java 8.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

print() 函数打印列表中每个元素的内容 的相关文章

  • JavaFX 图像未在舞台中显示

    我尝试了很多次 尝试了很多方法 但都无法让自己的形象在舞台上如我所愿 我认为这可能与java寻找资源的路径有关 但我不确定 因为我刚刚开始使用视觉库 在本例中为JavaFX 这是我的目录结构 MyProject assets img myI
  • 在Java中使用命令行编译多个包

    您好 我一直在使用 IDE 但现在我需要从命令行运行和编译 问题是我有多个软件包 我试图找到答案 但没有任何效果 所以我有 src Support java files Me java files Wrapers java files 你知
  • 无法在类对象的 ArrayList 中存储值。 (代码已编辑)

    这基本上是一个 Java 代码转换器 它涉及一个 GUI 让用户输入类类型 名称和方法 为了存储值 我创建了一个类VirtualClass与ArrayList
  • Google App Engine with Java - 运行 javac.exe 编译器时出错

    在 Windows XP 上 刚刚下载并解压谷歌应用程序引擎java sdk to C Program Files appengine java sdk 我已经安装了jdk C Program Files Java jdk1 6 0 20
  • Data.Sequence 中的 inits 和 tails 如何工作?

    Louis Wasserman 编写了当前的实现inits and tails in Data Sequence 他表示它们非常高效 事实上 只要查看代码 我就可以看到 无论它们在做什么 它们都是以干净 自上而下的方式进行的 这往往会给惰性
  • 如果两点之间的距离低于某个阈值,则从列表中删除点

    我有一个点列表 只有当它们之间的距离大于某个阈值时 我才想保留列表中的点 因此 从第一个点开始 如果第一个点和第二个点之间的距离小于阈值 那么我将删除第二个点 然后计算第一个点和第三个点之间的距离 如果该距离小于阈值 则比较第一点和第四点
  • R中的字典数据结构

    在 R 中 我有 例如 gt foo lt list a 1 b 2 c 3 如果我输入foo I get a 1 1 b 1 2 c 1 3 我怎样才能看透foo仅获取 键 列表 在这种情况下 a b c R 列表可以具有命名元素 因此可
  • java.lang.LinkageError:尝试重复的类定义

    为什么会发生错误以及如何修复它 02 13 02 pool 4 thread 2 WARN Exception in thread pool 4 thread 2 02 13 02 pool 4 thread 2 WARN java lan
  • 有多少种方法可以将位图转换为字符串,反之亦然?

    在我的应用程序中 我想以字符串的形式将位图图像发送到服务器 我想知道有多少种方法可以将位图转换为字符串 现在我使用 Base64 格式进行编码和解码 它需要更多的内存 是否有其他可能性以不同的方式做同样的事情 从而消耗更少的内存 现在我正在
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • 在 IntelliJ 中运行 Spring Boot 会导致 Unable to load 'javax.el.E​​xpressionFactory'

    我正在尝试运行一个简单的 Spring Boot 应用程序 该应用程序具有以下 Maven pom file
  • 带有 OpenId 提供程序的 Java Spring 安全性

    我有一个 spring MVC 应用程序 另一个客户端应用程序想要使用 open id connect 访问我的 spring 应用程序 如何在服务器端实现开放ID提供商 请帮忙 MITREid 连接 OpenID Connect Java
  • 如何找到被点击的JLabel并从中显示ImageIcon?

    这是我的代码 我想知道哪个l单击 然后在新框架中显示该 ImageIcon e getSource 不起作用 final JFrame shirts new JFrame T shirts JPanel panel new JPanel n
  • 如何将 arraylist 从 servlet 传递到 javascript?

    我通过在属性中设置数组列表并将其转发到 jsp 来从 servlet 传递数组列表 Servlet ArrayList
  • 访问或解析 R 中的 summary() 中的元素

    我运行以下 R 命令来进行 Dunnett 测试并获取摘要 如何访问下面线性假设的每一行 这是摘要输出的一部分 基本上我不知道摘要的结构 我尝试使用名称 但它似乎不起作用 因为我没有看到任何命名属性来提供这一点 library multco
  • 改变for循环的顺序?

    我遇到一种情况 我需要根据用户输入以不同的顺序循环遍历 xyz 坐标 所以我是 3D 空间中的一个区域 然后是一组像这样的 for 循环 for int x 0 x lt build getWidth x for int y 0 y lt
  • 了解 Spark 中的 DAG

    问题是我有以下 DAG 我认为当需要洗牌时 火花将工作划分为不同的阶段 考虑阶段 0 和阶段 1 有些操作不需要洗牌 那么为什么 Spark 将它们分成不同的阶段呢 我认为跨分区的实际数据移动应该发生在第 2 阶段 因为这里我们需要cogr
  • 如何初始化静态地图?

    你会如何初始化静态Map在Java中 方法一 静态初始化方法二 实例初始化 匿名子类 或者 还有其他方法吗 各自的优点和缺点是什么 这是说明这两种方法的示例 import java util HashMap import java util
  • 每次我们调用浏览器时,在 selenium 中使用 driver.manage().window().maximize() 是否好?

    We use driver manage window maximize 最大化浏览器 我在网上看到一些使用的例子driver manage window maximize 尽管不需要最大化浏览器 例如 gmail 登录 我还看到使用 se
  • 为什么应该首选 Java 类的接口?

    PMD https pmd github io 将举报以下违规行为 ArrayList list new ArrayList 违规行为是 避免使用 ArrayList 等实现类型 而是使用接口 以下行将纠正违规行为 List list ne

随机推荐