所以现在我正在编写一个程序来接受用户输入,例如:
并将其全部存储到链接列表中。
如果我要添加具有此类似信息的其他人,如何将其存储在链接列表中,以便我可以单独访问这两个人的信息?
现在,我正在使用此功能在输入新用户时建立所有存储空间:
private final Scanner keyboard;
private final LinkedList<String> firstName;
private final LinkedList<String> lastName;
private final LinkedList<String> teleNumber;
private final LinkedList<String> accountBalance;
public bankdata()
{
this.keyboard = new Scanner(System.in);
this.firstName = new LinkedList<String>();
this.lastName = new LinkedList<String>();
this.teleNumber = new LinkedList<String>();
this.accountBalance = new LinkedList<String>();
}
我计划使用keyboard.next();
来读取用户输入,然后使用我编写的add方法将信息存储到每个链接列表中。
它的设置方式是每个对象变量都有一个链接列表,如:
如果我想调用与某个特定人员相关的信息,当我向用户请求信息时,如果他们在另一个链接列表中,我可以看到他所有的东西,我该怎么办呢?
答案 0 :(得分:2)
这里的事情是创建自己的数据结构。我会对LinkedList进行更多研究。几乎每个在线列表示例都可以帮到你。
提示:为您的节点创建一个类,并存储与该节点中每个人有关的所有信息。
编辑:只是为了完成答案:How do I create a Linked List Data Structure in Java?
编辑2 :根据您编辑的OP,我认为您希望拥有4个LinkedLists,并查找一个人的所有信息。我假设你要按人名搜索(如果不是,那个过程就是相同的)。而且,假设一个人的信息存储在正确的相应节点处。因此,person1
包含所有4个列表的第一个节点中的所有信息,person2
所有节点都位于“index”1。
因此,您开始搜索LinkedList存储名称,并在找到名称后立即停止(如果未找到则抛出错误)。还要跟踪您看到的节点数量。这将是获取所有其他列表信息所需的索引。
现在,使用for
循环,在其余3个列表中遍历适当的次数,并返回遇到的值。
答案 1 :(得分:0)
将所有数据组合在一个类中然后使用Hashtable作为您的数据结构会更容易,你应该在网上找到很多关于Hashtable的资源,也可以查看http://javarevisited.blogspot.com/2012/01/java-hashtable-example-tutorial-code.html。关于获取输入..您可以将它存储在数组中,因为变量的数量是固定的,然后使用Arrays.toList()将其转换为列表,并且可能使用循环内的开关来初始化变量。请注意,哈希表结构有其他选择,但我建议你以后想要检索你的数据,它可能会变大。
答案 2 :(得分:0)
这是典型的Primitive Obsession。
您应该使用Object来保存数据。它会更灵活,更易于使用。