我有一个数组列表,其中包含多个链接列表对象。我的主要代码是:
import java.io.*;
import java.util.AbstractList;
import java.util.*;
public class Sort {
public static void main (String[] args){
int listNum = 0;
File file = new File("input.txt");
ArrayList<LinkedList> my_lists = new ArrayList<LinkedList>();
try {
Scanner sc = new Scanner(file);
while (sc.hasNextLine()) {
System.out.println("List" + listNum);
String line = sc.nextLine();
LinkedList the_list = new LinkedList();
String[] templist = line.split("\\s*,\\s*");
for(int i=0; i<templist.length; i++){
String temp = templist[i];
the_list.add(temp);
System.out.println(temp);
}
listNum++;
my_lists.add(the_list);
}
sc.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
for(int i=0;i<my_lists.size();i++){
System.out.println(my_lists.get(i).toString());
}
}
}
这是我的链表对象类:
package kruskal;
import java.util.AbstractList;
public class LinkedList {
Node head;
public LinkedList(){
this.head = null;
}
public void add (Object newData){
Node cache = head;
Node current = null;
if (cache == null)
current = new Node(newData, null);
else {
while ((current = cache.next) != null)
cache = cache.next;
cache.next = new Node(newData,null);
}
}
public Object getFront(){
return this.head.data;
}
}
我的节点类:
package kruskal;
public class Node {
public Object data;
public Node next;
public Node(Object data,Node next){
this.data=data;
this.next=next;
}
}
在我的主要代码部分的末尾,我尝试执行一个for循环来显示我的ArrayList中的每个LinkedList,但是我只得到linked list的地址:
kruskal.LinkedList@2cc47220
kruskal.LinkedList@1520a9d6
kruskal.LinkedList@136e2b70
kruskal.LinkedList@25e5d007
kruskal.LinkedList@12bc8f01
kruskal.LinkedList@19509443
kruskal.LinkedList@7935c7b0
任何想法为什么我的toString()方法不起作用?我假设我需要LinkedList类中的方法,但是我会返回什么?
您需要覆盖链接列表
的toString
方法
您可以执行以下操作:
@Override
public String toString() {
String res = "[";
Node current = this.head;
while(current != null) {
res += current.toString() + "\t";
current = current.next;
}
res += "]";
return res;
}
当然……然后还必须覆盖<code>节点#toString)
示例代码:
@Override
public String toString() {
return data.toString();
}
问题在于,你没有在LinkedList
类中定义toString()
方法,所以它从Object
继承toString()
方法,该方法负责你看到的输出。
换句话说,此方法返回一个等于以下值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())
在链接列表中
重写到字符串(),
并返回要查看打印的字符串
。
我想做一个名为句子的字符串,包含“你好,世界,你好吗?”
我有一个程序,它接受一个单词和一个文本文件字典,并在字典中搜索与给定单词相等的单词组合(是字母表)。 我最后得到了一个字符串数组的Arraylist,每个数组都是一个包含它所使用的单词的解决方案,Arraylist是所有的解决方案。 它首先按字长(降序)排序,然后对等长字使用字母排序。 我现在对各个数组进行了排序,但我正试图按照某些规则在arraylist中对它们进行排序: 按字数递增 对于包含相
问题内容: 我试图将字符串数组作为参数传递给Wetland类的构造函数;我不明白如何将字符串数组的元素添加到字符串数组列表。 问题答案: 您已经具有内置方法:- 注 : -您应该使用没有。 返回一个不同的-> ,不能将其类型转换为。 然后,您将不得不使用方法,这不是很好。所以就用 注意 :-返回的列表是固定大小的列表。如果要向列表中添加某些内容,则需要创建另一个列表,并用于向其中添加元素。所以,那
问题内容: 我有阵列中的国家/地区列表,我想从列表中选择一个国家/地区(可能是使用随机的?),但是我自己还没有找到答案… 这是我到目前为止所拥有的: 问题答案: 尝试:
我正在从一个字符串列表中创建一个字符串数组。到目前为止,我有以下代码: 问题是toArray()返回的是Object[],而不是String[],后者在尝试转换为String[]时产生类转换异常。除了for循环之外,有没有一种简单的方法来实现我的目标,在for循环中,我将遍历Object[],将每个对象转换为一个字符串,然后将每个字符串添加到一个String[]?对一个简单的任务来说似乎有很多工作
问题内容: 我有阵列 转换为字符串: 串: 以及如何将此字符串转换回数组? 问题答案: 尝试我的stringToDeep()方法转换回Array。