Over a million developers have joined DZone.

Creating a Fixed Sized List in Java Using Apache Commons

· Java Zone

Discover how AppDynamics steps in to upgrade your performance game and prevent your enterprise from these top 10 Java performance problems, brought to you in partnership with AppDynamics.

There are many ways to create a fixed list in Java, one of them is by using the FixedSizeList class, found in the Apache org.apache.commons.collections package (http://commons.apache.org/collections/). FixedSizeList does not support the add, remove, clear and retain methods and the set method is allowed as far as it doesn’t change the list size:
package fixedsizelist.exemple;

import java.util.Arrays;
import java.util.List;
import org.apache.commons.collections.list.FixedSizeList;

public class FixedSizeListExemple {

    public static void main(String[] args) {

        List fixedList = FixedSizeList.decorate(Arrays.asList(new String[5]));

        fixedList.set(0, "some_name@yahoo.com");
        fixedList.set(1, "some_other_name@gmail.com");
        fixedList.set(2, "777_name@rocketmail.com");
        fixedList.set(3, "bond_007@yahoo.com");
        fixedList.set(4, "james99@yahoo.com");

        System.out.println("\tDisplay list values...\n");
        for (String obj : fixedList) {

        try {
            System.out.println("\n\tTrying to modify our fixed list...\n");


        } catch (Exception e) {
          (" The add, remove, clear and retain operations are unsupported."
          + "\nThe set method is allowed (as it doesn't change the list size).\n");

And the output is:

From http://e-blog-java.blogspot.com/2012/02/how-to-create-fixed-list-in-java-using.html

The Java Zone is brought to you in partnership with AppDynamics. AppDynamics helps you gain the fundamentals behind application performance, and implement best practices so you can proactively analyze and act on performance problems as they arise, and more specifically with your Java applications. Start a Free Trial.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}