LinkedObject
并不是问题,但我之所以这么称呼是因为我希望它模仿LinkedList的行为。
我要特别弄清楚的是,是否可以从字符串数组中创建一个Object
,它是一个String
并引用该进行中的对象。这将用于形成监管链,其中每个处理证据的人仅知道他们将证据传递给谁。
假设我有5个人互相传递证据:
“弗雷德”,“杰克”,“简”,“贝丝”,“佐格”
从该字符串数组中,我想创建如下所示的内容:
姓名:弗雷德
对象:杰克
名称:杰克
对象:简
姓名:简
对象贝丝
姓名:贝丝
对象:Zog
姓名:Zog
对象:null
我问这个问题是因为我做了很多尝试,以解决这个问题。我没有提供代码,因为我的尝试失败了。我已尽力为该问题找到某种答案。
最佳答案
简单。
class LinkedObject {
final String name;
LinkedObject next;
LinkedObject(String name) {
this.name = name;
}
}
LinkedObject createLinkedList(List<String> names) {
LinkedObject head = null;
ListIterator<String> it = names.listIterator(names.size() - 1);
while(it.hasPrevious()) {
if(head == null) head = new LinkedObject(it.previous());
else {
LinkedObject o = new LinkedObject(it.previous());
o.next = head;
head = o;
}
}
return head;
}
我们正在创建一个
LinkedObject
类,其中包含一个String字段,存储数据以及对下一个LinkedObject
的引用。第一个LinkedObject
被称为链接列表的“头”,并描述了整个列表。这是一个singly linked list。从您的示例中,如果列表中有'beth'对象,则可以从beth.next的值中找到'zog'对象,依此类推。