Java:可以命名集合吗?

标签 java

我想为我的集合实例添加我自己的唯一标识符。 哈希码可以唯一地标识一个集合,但这不是我想要的。像这样的东西..

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

}

关于Java:可以命名集合吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48594860/

相关文章:

java - FTPConnectionClosedException : Connection closed without indication in BPXBATCH

java - Libgdx SpriteBatch.SetProjectionMatrix 使 spritebatch 不绘制

Java:我们如何在 "function pointer is prohibited"时创建回调函数?

java - 在 JPA 中自动删除相关的@OneToOne

java - 单击 ListView 时触发 Textview

java - postgreSQL 会支持 rest API 吗?

java - 有没有办法压缩 Java Try Catch block ?

java - 使用连字符时 Spring 表达式语言 (SpEL) 不起作用

Java Web 服务开发 - 使用哪些库进行简单设置?

java - 如何将 REST Web 服务部署到 AWS?