繁体   English   中英

Java:是否可以命名集合?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM