将值存储在Java Collection中

use*_*928 0 java collections map java-8

我想将Id和Name存储到Java Collection中,如下所示:

121 Name_1
332 Name_9
334 Name_e
..........
Run Code Online (Sandbox Code Playgroud)

我可以使用a HashMap但我需要能够使用更多值扩展集合,如下所示:

121 Name_1 1
332 Name_9 1
334 Name_e 3
............
Run Code Online (Sandbox Code Playgroud)

是否有Java集合可以存储这些值而不使用Object?

Tob*_*ndt 5

您应该为数据定义一个类:

public class Whatever {
    private final String name;
    private final int someValue;

    public Whatever(String name, int someValue) {
        this.name = name;
        this.someValue = someValue;
    }

    public String getName() { return name; }
    public in getSomeValue() { return someValue; }
}
Run Code Online (Sandbox Code Playgroud)

然后像这样使用它:

Map<Integer, Whatever> theData = new HashMap<>();
theData.put(121, new Whatever("Name_1", 1));
Run Code Online (Sandbox Code Playgroud)

(当然,给这个类及其字段提供有意义的名字!)