我创建了一个这样的多图:
private ListMultimap<String, int[]> terrainMap = ArrayListMultimap.create();
{
terrainMap.put("Terrain.Ground", new int[] {0,100,300,0});
terrainMap.put("Terrain.Ground", new int[] {300,200,400,0});
terrainMap.put("Terrain.Ground", new int[] {400,250,800,0});
terrainMap.put("Terrain.Ground", new int[] {800,500,810,0});
terrainMap.put("Terrain.DestroyableBlock", new int[] {100,200,150,150});
terrainMap.put("Terrain.DestroyableBlock", new int[] {500,400,600,350});
};
Run Code Online (Sandbox Code Playgroud)
我想以这个特定的顺序显示它,但是当我使用foreach循环时:
for(Map.Entry<String, int[]> entry : terrainMap.entries())
{
System.out.println(entry.getKey());
}
Run Code Online (Sandbox Code Playgroud)
我得到以下结果:
Terrain.DestroyableBlock
Terrain.DestroyableBlock
Terrain.Ground
Terrain.Ground
Terrain.Ground
Terrain.Ground
Run Code Online (Sandbox Code Playgroud)
就像它在地图中按字母顺序自动排序键一样.我可以把它关掉吗?
Javadoc ArrayListMultimap指定:"HashMap将每个键与值的ArrayList相关联." 因此,像a一样HashMap,键是任意订购的.
听起来你可能想要LinkedListMultimap或MultimapBuilder.linkedHashKeys().arrayListValues().build().
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |