如何通过构造一个显示LinkedList aList内容的新方法printList来打印出这个新数据结构。 使用(打印)作为模板。
public void actionPerformed(ActionEvent event) {
String[] anArray=null;
if (event.getSource() == reading) {
String s = txt1.getText();
String delims = expression.getText();
anArray = s.split(delims);
result.setText("");
print(anArray);
}
LinkedList<String> mkList;
java.util.List<String> aList = new LinkedList<String>();
} // actionPerformed
public LinkedList<String> mkList(String[] sa) {
LinkedList<String> st = new LinkedList<String>();
for (int i = 0; i < sa.length && sa[i] != null; i++)
st.add(sa[i] + "\n");
return st;
} // mkList
public void print(String[] sa) {
for (int i = 0; i < sa.length && sa[i] != null; i++)
result.append(sa[i] + "\n");
// Log the results to the terminal
System.out.println("Input: '" + txt1.getText() + "'");
System.out.println("Regular Expression: '" + expression.getText() +"'");
System.out.println("Output:\n" + result.getText());
} // print
答案 0 :(得分:2)
只需System.out.println(aList);
OR
public void printList (LinkedList<String> aList) {
for(String currentString : aList){
System.out.println(currentString);
}
}
答案 1 :(得分:0)
您也可以使用此解决方案:)
public void printList (LinkedList<String> aList) {
System.out.println(aList.toString().replace("[", "").replace("]", "").replace(",", "\n"););
}
答案 2 :(得分:0)
所有标准Java集合都有合理的toString()
实现。通常,元素用方括号“[”括起来,元素用逗号分隔。在每个元素上调用toString()。见AbstractCollection source code
如果此表示符合您的需求,请使用toString
。无需编写代码。
如果您想要自定义表示,则可以使用或编写辅助方法。来自Guava的Joiner class非常有用,应该是JDK的一部分。您可以将其视为函数式语言中的reducer,如果要对每个元素应用特定操作,还可以使用Iterators.transform()
添加映射步骤。
显然,仅将Guava用于Joiner类是没有意义的。您也可以编写自己的方法。使用AbstractCollection.toString()或Joiner.join()作为参考。