Android Custom часы с замедленной скоростью

Используйте List , например ArrayList . Это динамически растёт, в отличие от массивов (см. Эффективное Java 2nd Edition, пункт 25: Предпочтительные списки для массивов ).

import java.util.*;
//....

List list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
System.out.println(list); // prints "[1, 2, 3]"

Если вы настаиваете на использовании массивов, вы можете использовать java.util.Arrays.copyOf , чтобы выделить больший массив для размещения дополнительного элемента. Это действительно не лучшее решение.

static  T[] append(T[] arr, T element) {
    final int N = arr.length;
    arr = Arrays.copyOf(arr, N + 1);
    arr[N] = element;
    return arr;
}

String[] arr = { "1", "2", "3" };
System.out.println(Arrays.toString(arr)); // prints "[1, 2, 3]"
arr = append(arr, "4");
System.out.println(Arrays.toString(arr)); // prints "[1, 2, 3, 4]"

Это O(N) за append. ArrayList, с другой стороны, имеет O(1) амортизированную стоимость за операцию.

См. также

0
задан SPlus91 8 March 2019 в 09:48
поделиться