Java 将链表节点拆分为多个数据并显示结果
我想使用一个文本文件来填充一个使用JavaSE应用程序的链表。文本文件的格式如下: firstname lastname移动家庭办公室 我想将这些线作为节点插入链表中!然后,我想从已从文本文件填充的链接列表中搜索特定节点 使用firstnamelastname作为键,我希望在找到特定节点后,使用split(“”)将其与节点数据进行比较(数据被拆分为与“键”进行比较);并显示结果 我只想知道提示做这一切,我会非常感谢提前请帮助我 我已经生成了一个java源代码,但它不工作,因为它总是给我最后的节点数据,所以检查我犯的错误,如果它是完全错误的,给出你的任何想法Java 将链表节点拆分为多个数据并显示结果,java,split,linked-list,key,nodes,Java,Split,Linked List,Key,Nodes,我想使用一个文本文件来填充一个使用JavaSE应用程序的链表。文本文件的格式如下: firstname lastname移动家庭办公室 我想将这些线作为节点插入链表中!然后,我想从已从文本文件填充的链接列表中搜索特定节点 使用firstnamelastname作为键,我希望在找到特定节点后,使用split(“”)将其与节点数据进行比较(数据被拆分为与“键”进行比较);并显示结果 我只想知道提示做这一切,我会非常感谢提前请帮助我 我已经生成了一个java源代码,但它不工作,因为它总是给我最后的节点
try {
String fullname;
String mobile;
String home;
String mobile2;
String office;
Node current = first;
while (current.data != key) {
String splitter[] = current.data.split(" ");
fullname = splitter[0];
mobile = splitter[1];
home = splitter[2];
mobile2 = splitter[3];
office = splitter[4];
if (fullname == null ? key == null : fullname.equals(key)) {
mobilefield.setText(mobile);
homefield.setText(home);
mobilefield2.setText(mobile2);
officefield.setText(office);
} else {
throw new FileNotFoundException(
"SORRY RECORD NOT LISTED IN DATABASE");
}
break;
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage()
+ "\nPLEASE TRY AGAIN !", "Search Error",
JOptionPane.ERROR_MESSAGE);
}
(key is as=firstname+lastname;)
我会使用ArrayList(需要更少的内存,对于大多数操作有更好的性能)
代码对我来说看起来不错,但我不会为每个条目拆分当前.data
我会使用一个类似的测试
if(current.data.startsWith(key)){
String splitter[]=current.data.split(" ");
...
}
如果这是真的,我会分割
当前的.data
,因为只有在这种情况下,你才需要mobile*home*office谢谢你的回复,但它始终只显示列表的最后一个节点,任何想法或提示!!!您从不更新循环中的current.data
,在循环结束时总是break
在第一次迭代后终止循环。先生,实际上我想从包含数据类型的列表中搜索任何节点,即firstnamelastname mobile home,我的意思是说该节点有带空格的数据,我想搜索该类型包含空格的数据,请帮助我这样做,我求求你!!!是否确实要支持key==null
作为fullname
的有效值?