我们怎样才能减少Java中字符数组的大小?

时间:2015-06-16 16:24:08

标签: java

有些方法可以使用新数组减少数组大小。但是我想知道如何在不使用额外阵列的情况下完成它。

3 个答案:

答案 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;
        }
    }
}