有些方法可以使用新数组减少数组大小。但是我想知道如何在不使用额外阵列的情况下完成它。
答案 0 :(得分:3)
创建阵列后,您无法更改大小。您可以创建一个新数组,也可以使用ArrayList(但在内部,ArrayList会创建一个新数组,但这对您来说是隐藏的。)
答案 1 :(得分:0)
你的意思是减少数组的元素大小吗? 如果是的话,我认为使用将原始数组复制到较小尺寸的新数组是唯一的方法。
答案 2 :(得分:0)
数组的大小是静态的。初始化具有给定大小的数组时,它将始终具有该大小。将Array视为鸡蛋盒。它的每个插槽可能有也可能没有蛋,但它总是有12个插槽(或6个或18个或多个插槽)。
至于删除重复项,您可以使用null替换遇到的重复项,这会使插槽“为空”。
public static void deleteDuplicates(Character[] arr){
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < i; j++){
if(arr[j] != null && arr[j].equals(arr[i]){
//Found duplicate - delete duplicate and stop searching
arr[i] = null;
break;
}
}
}