Jump to content

  • Log In with Google      Sign In   
  • Create Account


list.set() ... list.add AreThrowing Errors


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
1 reply to this topic

#1 Shippou   Members   -  Reputation: 1317

Like
0Likes
Like

Posted 18 February 2012 - 05:27 AM

Here is the code I keep getting errors on when I uncommment the .set() and the .add() lines
// List Test
import java.util.*;
public class ListMaking {
  public static void main(String args[])  {
   List<String> listname = new ArrayList<String>();
   //listname.add(0,"he");
   //listname.set(1,"she");
   listname.add("foo");
   listname.add("bar");
   listname.remove("xx");
   listname.remove(4);
   listname.size();
   listname.get(0);
   System.out.println(listname.get(0) + " ");
  
}}

The errors are

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.set(Unknown Source)
at ListMaking.main(ListMaking.java:7)

What is the issue here ?

 Reactions To Technologies:
1. Anything that is in the world when you’re born is normal and ordinary and is just a natural part of the way the world works.
2. Anything that's invented between when you’re fifteen and thirty-five is new and exciting and revolutionary and you can probably get a career in it.
3. Anything invented after you're thirty-five is against the natural order of things.

- Douglas Adams 2002


 


Sponsor:

#2 Angex   Members   -  Reputation: 884

Like
0Likes
Like

Posted 18 February 2012 - 09:52 AM

You can only use the "set(...)" method to replace an existing element. It will not add a new element.

The value you specify as the index must be >= 0 and < size.

NB: Size, is the number of elements in the list, not the capacity.

You cannot do this either:

ArrayList<String> list = new ArrayList<String>( 10 );

list.set(5, "Hello");  // Will throw an exception!





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS