title: Adding a String value to an ArrayList of Strings
body: <p>I'm removing and adding a certain value from an <code>ArrayList&lt;String&gt;</code>. Removing the value is not a problem but when I try adding it again the old contents of the <code>ArrayList</code> become a new element at position 1 while at position 0 is the new element making the others inaccessible if I want to remove from them.This is the Log result after adding the new value:<br></p>
  
  <pre><code>[blantyre, ["mzuzu","lilongwe","zomba"]]
  </code></pre>
  
  <p>yet the original looked like:</p>
  
  <pre><code>[mzuzu, lilongwe, blantyre, zomba]
  </code></pre>
  
  <p>I have tried the following methods:<br>
  <code>ArrayList.add(0,new String("blantyre")</code> and <code>ArrayList.add("blantyre")</code> but they both take the old contents and place them in position 1.</p>
  
  <p>I am getting the ArrayList from <code>SharedPreferences</code> using this statement:</p>
  
  <pre><code>ArrayList&lt;String&gt; districts = AppController.getInstance().getPrefManager().getDistricts();
  </code></pre>
  
  <p>Where the <code>getDistricts</code> method returns an <code>ArrayList&lt;String&gt;</code>.<br>In the SharedPreference the <code>getDistricts</code> method more or less looks like:</p>
  
  <pre><code>return new ArrayList&lt;String&gt;() {{
          //return the default districts, which is all of them
          add(AppConst.KEY_MZUZU);
          add(AppConst.KEY_LILONGWE);
          add(AppConst.KEY_BLANTYRE);
          add(AppConst.KEY_ZOMBA);
      }};
  </code></pre>
  
  <p>All the <code>AppConst.KEY_x</code> are of type <code>String</code></p>