使用数组作为其键/类型的Collection

Nob*_*ift 0 java arrays collections dictionary set

我的程序必须在线程之间传递大量数组.我想要一个可以接受数组的集合,然后一个contains方法将指定一个Set/Map是否包含该数组(即它是重复的还是已经被线程处理过).我假设这个集合必须使用Arrays.equals(a1, a2),因为该Object.equals()方法不适用于数组.是否可以编写一个像这样工作的集合,或者从int []到Integer []进行自动装箱时是否会失败?

bil*_*.cn 6

使用的包装Array,其覆盖hashCode()equals()喜欢Arrays.asList().

顺便说一句,你应该尽可能避免使用数组并选择集合.我还建议您使用不可变数据结构进行多线程处理.无论如何,在集合中使用可变对象或作为地图的关键是一个可怕的想法.