Java世界的新手。
如何将用户输入分配到ID数组? (例如,第一个id是1,然后是2,3,依此类推)
对象的LinkedList?例如cat
要求用户输入cat
的类型并将其分配给唯一ID。
如何在创建后搜索ID?
LinkedList<Cat> cats = new LinkedList<Cat>();
答案 0 :(得分:2)
当需要具有唯一ID时,最简单的方法是使用GUID(全局唯一标识符)。有关唯一GUID的一些示例:
3c991b3e-1396-4182-9663-a24b3bc7f1b1
effa71c0-d657-4161-9bd9-aff7ccb545b3
dfb20317-3d70-4ec9-8d9a-d3cdc9895bdf
4f78c930-5ba6-4e45-a659-ac7e5eab6177
这些在数学上被证明在系统中是独一无二的。阅读维基百科上的about GUIDs以及duplications: “只有在未来100年内每秒产生10亿UUID之后,创建一个副本的可能性大约为50%。”
要执行此操作,请使用java内部UUID类。至于猫的例子,请执行:
public Cat(/*constructor arguments here*/) {
this.id = UUID.randomUUID();
}
答案 1 :(得分:1)
你可以做以下两件事之一:
(2)的示例代码:
public class Cat {
private static int counter = 0;
private final int id;
//.. other private fields
public Cat(/*constructor arguments here*/) {
this.id = counter++;
//other constructor code
}
//Cat class implementation
}
答案 2 :(得分:0)
我不建议使用LinkedList。要拥有链接到对象的唯一ID,可以使用HashMap。它基本上是一个键值映射,不允许重复键。
示例:
Map<Integer, Cat> cats = new HashMap<Integer, Cat>();
cats.put(1, cat01);
cats.put(2, cat02);
Cat cat01 = cats.get(1);