[英]Java:Is it possible to name a collection?
我想为自己的集合实例放置自己的唯一标识符。 哈希码可以唯一地标识一个集合,但这不是我想要的。 像这样
List<Integer> classOneStudentIds = Arrays.asList(123,135);
classOneStudentIds.name = "classOne";
List<Integer> classTwoStudentIds = Arrays.asList(145,138);
classTwoStudentIds.name = "classTwo";
似乎不可能...
当代码是非递归的并且主程序知道列表的含义时,这不是很相关。 但是,对于递归解决方案,我可以看到该集合能够根据程序员的名字进行标识是很有帮助的。
对于塔的河内解决方案的以下代码片段,不必使用hashCode而是使用与当前用例相关的有意义的名称将有所帮助。
Integer elem = pegOne.removeFirst();
System.out.println("Move element " + elem + " from " +
pegOne.hashCode());
pegThree.add(elem);
System.out.println(" to " + pegThree.hashCode());
馆藏有没有一种方法可以识别自己?
这不可能直接实现,但是有一个有意义的对象。
class ListWithId {
String identifier;
List<Integer> classStudentIds;
// more properties you want to add
}
class WrapperCollection<T> {
public String name;
public List<T> list;
}
上面的包装器收集代码将帮助您实现相同的目的。
我要做的更改:1.更好的命名。 2.更好的封装-私有字段和不变性。 3.列出操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.