我想使用文本文件使用Java SE应用程序填充链接列表。文本文件具有以下格式:
firstnamelastname移动办公室
我想在链表中插入这些行作为节点!然后我想从链接列表中搜索已从文本文件中填充的特定节点!
使用firstnamelastname作为关键字我希望将它与节点数据进行比较(数据要分割为与“key”进行比较)找到特定节点后我想使用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;)
答案 0 :(得分:0)
我会使用ArrayList(需要更少的内存,对大多数操作有更好的性能)
代码对我来说没问题,但我不会为每个条目拆分current.data
。
我会使用类似
的测试if(current.data.startsWith(key)){
String splitter[]=current.data.split(" ");
...
}
并且只有在这是真的时我会拆分current.data
因为只有在这种情况下你需要 mobile * home * office