Java Api中提供了数组对List的转换方法
String[] tmp = {"a","b","c","d"};
List<String> list = Arrays.asList(tmp);
list.clear() //抛出java.lang.UnsupportedOperationException异常
Arrays的asList实现方式是使用参数引用的数组的大小来new的一个ArrayList,对返回列表的更改会“直写”到数组,而数组没有clear,add,remove等方法。
可以使用CollectionUtils(org.apache.commons.collections.CollectionUtils)进行深度转换
List list= new ArrayList(); CollectionUtils.addAll(list, tmp);
随后对List进行去重操作,方法有多种,这里使用HashSet来实现
public List<String> removeDuplicate(List<String> list) {
HashSet<String> hs = new HashSet<String>(list);
list.clear();
list.addAll(hs);
return list;
}