user1583803
user1583803

Reputation: 424

Retrieving elemnts from an ArrayList by specifying the indexes

Is there a method in Java to get the list of objects from an Arraylist to another ArrayList, by just specifying the start and end index?

Upvotes: 8

Views: 9088

Answers (2)

Mohammod Hossain
Mohammod Hossain

Reputation: 4114

/create an ArrayList object
    ArrayList arrayList = new ArrayList();

    //Add elements to Arraylist
    arrayList.add("1");
    arrayList.add("2");
    arrayList.add("3");
    arrayList.add("4");
    arrayList.add("5");

    /*
       To get a sub list of Java ArrayList use
       List subList(int startIndex, int endIndex) method.
       This method returns an object of type List containing elements from
       startIndex to endIndex - 1.
    */

    List lst = arrayList.subList(1,3);

    //display elements of sub list.
    System.out.println("Sub list contains : ");
    for(int i=0; i< lst.size() ; i++)
      System.out.println(lst.get(i));

Upvotes: 0

assylias
assylias

Reputation: 328649

Yes you can use the subList method:

List<...> list2 = list1.subList(startIndex, endIndex);

This returns a view on that part of the original list, it does not copy the data.
If you want a copy:

List<...> list2 = new ArrayList<...> (list1.subList(startIndex, endIndex));

Upvotes: 16

Related Questions