java - 通过索引访问 Map<Class, String> 中的变量

标签 java linkedhashmap

我有一个 LinkedHashMap,其中有一个类作为 Key:

private final Map<Files, String> list = new LinkedHashMap<Files,String>();

Files 是一个由 3 个变量组成的类:

class Files {
public String file;
public String duration;
public String status;
}

现在我需要使用索引访问文件中的变量。我知道 LinkedHashMap 不允许使用索引检索值,所以我尝试了以下方法:

List<Entry<Files,String>> randAccess = new ArrayList<Entry<Files,String>>(list.entrySet());

使用randAccess.get(index)我可以检索Key本身,但不能检索类内的特定变量。所以输出类似于 Files@6aa91761=String。

我希望能够获取变量,例如:list.Files.status.Get(index)将返回右侧索引处“status”的值。

最佳答案

您可以使用 .getKey() 从 Map.Entry 获取文件变量。从那里您可以直接获取状态字段。

randAccess.get(index).getKey().status

关于java - 通过索引访问 Map<Class, String> 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15854528/

相关文章:

java - 如何在 JSP 中的 LinkedHashMap 中执行 foreach 循环?

java - 适配器中的ArrayList?

java - 如果 HashMap 被构造并且 "filled"作为 LinkedHashMap,它是否会在下一次读取时保留其元素的顺序?

java - java 8升级到java后eclipse无法启动?

java - 如何在java(Android)中将字符串转换为条件表达式?

java - Jackson 无法将 JSON 映射到包含 Map 的对象

java - 为什么 @ResponseBody 返回已排序的 LinkedHashMap 未排序?

java - LinkedHashMap 到 Pojo

java - 无法识别的选项 : -o Could not create the Java virtual machine

java - Java 获取网页加载的大概时间