有一个几千大小的hashmap,每次要从里面随便取一个值,每次都entrySet是不是不好,用arraylist存key行不行

有一个几千大小的hashmap,每次要从里面随便取一个值,每次都entrySet是不是不好,用arraylist存key行不行

阅读 3.5k
2 个回答

你的想法可行的。使用一个额外的 ArrayList 来保存每次放入 HashMap 的键,放入 ArrayList 之前记得通过 HashMap 来判断该键是否已经存在于当前的 ArrayList,以避免重复在 ArrayList 中添加 —— 随机取值的功能可以通过 ArrayList 来随机获得一个索引从而随机获得一个键。

推荐问题