拆分链接列表节点多个数据并显示结果

时间:2012-12-27 16:24:27

标签: java split linked-list key nodes

我想使用文本文件使用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;)

1 个答案:

答案 0 :(得分:0)

我会使用ArrayList(需要更少的内存,对大多数操作有更好的性能)

代码对我来说没问题,但我不会为每个条目拆分current.data

我会使用类似

的测试
if(current.data.startsWith(key)){
  String splitter[]=current.data.split(" ");

  ...

}

并且只有在这是真的时我会拆分current.data因为只有在这种情况下你需要 mobile * home * office