可变集合求交集

今天在设计一个接口的时候,接口传递过来的是一个数组,根据数组中的参数去库中查询是否可变更,将可变更的参数再以数组的形式返回给对方。用到了集合求交集的一些东西

 

首先直接获取的是一个数组,并以数组去库中查询,获取的是一个list,没办法,只有将以前的数组用Arrays.asList转换成一个list,利用list.retainAll(dbList)获取两个集合的交集。这个时候抛出了UnsupportedOperationException的异常。反过来使用dbList.retainAll(list)就没有问题了,后来查了一下api发现Arrays.asList是返回一个指定大小的list,这个list是不可变更的(是一个只读的list)。他和Collections.toArray方法提供数组到list之间的转换。

 

你可能感兴趣的:(集合)