Java Collections ncopies() Method



Description

The Java Collections ncopies(int, T) method is used to returns an immutable list consisting of n copies of the specified object.

Declaration

Following is the declaration for java.util.Collections.ncopies() method.

public static <T> List<T> nCopies(int n, T o)

Parameters

  • n − The number of elements in the returned list.

  • o − The element to appear repeatedly in the returned list.

Return Value

The method call returns an immutable list consisting of n copies of the specified object.

Exception

IllegalArgumentException − This is thrown if n < 0.

Getting an Immutable List of Integers Example

The following example shows the usage of Java Collection ncopies(int,T) method. We've created a List object with some integers using ncopies(int, Integer), and printed the list.

package com.tutorialspoint;

import java.util.Collections;
import java.util.List;

public class CollectionsDemo {

   public static void main(String[] args) {
      List<Integer> list = Collections.nCopies(5, 1);

      System.out.println("Collection value: " + list);
   }
}

Let us compile and run the above program, this will produce the following result −

Collection value: [1, 1, 1, 1, 1]

Getting an Immutable List of Strings Example

The following example shows the usage of Java Collection ncopies(int,T) method. We've created a List object with some strings using ncopies(int, String), and printed the list.

package com.tutorialspoint;

import java.util.Collections;
import java.util.List;

public class CollectionsDemo {

   public static void main(String[] args) {
      List<String> list = Collections.nCopies(5, "A");

      System.out.println("Collection value: " + list);
   }
}

Let us compile and run the above program, this will produce the following result −

Collection value: [A, A, A, A, A]

Getting an Immutable List of Objects Example

The following example shows the usage of Java Collection ncopies(int,T) method. We've created a List object with some Student objects using ncopies(int, Student), and printed the list.

package com.tutorialspoint;

import java.util.Collections;
import java.util.List;

public class CollectionsDemo {

   public static void main(String[] args) {
      List<Student> list = Collections.nCopies(5, new Student(1, "Julie"));

      System.out.println("Collection value: " + list);
   }
}
class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   
   @Override
   public boolean equals(Object obj) {
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
}

Let us compile and run the above program, this will produce the following result −

Collection value: [[ 1, Julie ], [ 1, Julie ], [ 1, Julie ], [ 1, Julie ], [ 1, Julie ]]
java_util_collections.htm
Advertisements