#475 ArrayList Expansion

Companies:
Alfa-Bank
Themes:
JavaCollections & GenericsCode Review

How many bytes will the processor have to copy?

public static void main(String[] args) {
    Random rand = new Random();
    var list = new ArrayList<byte[]>(10);

    for (int i = 0; i < 10; i++) {
        ByteBuffer buffer = ByteBuffer.allocate(1 << 20);
        rand.nextBytes(buffer.array());
        list.add(buffer.array());
    }

    // exceed capacity: how many bytes must the processor copy?
    ByteBuffer buffer = ByteBuffer.allocate(1 << 20);
    rand.nextBytes(buffer.array());
    list.add(buffer.array());
}

Question review

Mentor
Answer as you would in a real interview. I’ll ask follow-up questions, then compare your answer with the reference answer and show your accuracy as a %.
Sign in to start the dialogue The mentor keeps the context of the current question and your previous messages.
Sign in