删除重复的数组元素但出现一些错误
Remove a duplicated array element but getting some error
当代码流到达 removeIf() 逻辑时,代码中断并且它不会 return 任何东西,就好像它是 lang 错误一样。
请尽可能使用相同的代码逻辑。
public static SalmonSumario[] filterSummario(SalmonSumario[] salmon){
Set<String> filter = new TreeSet<>();
List<SalmonSumario> salmonSum = Arrays.asList(salmon);
salmonSum.removeIf(array -> !filter.add(array.getSalmonNumber()));
return salmonSum.toArray(new SalmonSumario[0]);
}
Arrays.asList()
返回的列表有固定长度,所以你不能添加或删除元素,因此你必须用new ArrayList<>(Arrays.asList(salmon))
包裹它
当代码流到达 removeIf() 逻辑时,代码中断并且它不会 return 任何东西,就好像它是 lang 错误一样。 请尽可能使用相同的代码逻辑。
public static SalmonSumario[] filterSummario(SalmonSumario[] salmon){
Set<String> filter = new TreeSet<>();
List<SalmonSumario> salmonSum = Arrays.asList(salmon);
salmonSum.removeIf(array -> !filter.add(array.getSalmonNumber()));
return salmonSum.toArray(new SalmonSumario[0]);
}
Arrays.asList()
返回的列表有固定长度,所以你不能添加或删除元素,因此你必须用new ArrayList<>(Arrays.asList(salmon))