7

So I was looking up how to change a String set to an ArrayList<sSring> and I couldn't find anything. I tried:

favorites  = new ArrayList( mPrefsaved.getStringSet("faves", null) ;

How can I convert a StringSet into an ArrayList<string>?

I tried:

  private void getsaved() {

      favorites = new ArrayList<String>(mPrefsaved.getStringSet("faves", null));

}

But log Cat told me NullPointerException

JavaGrassHopper
  • 131
  • 1
  • 1
  • 9

2 Answers2

12

Consider you have a set of Strings like

Set<String>  set = new HashSet<String>();
 // some elements in set

then you can try

 List<String>  listFromSet = new ArrayList<String>(yourCurrentSet);

in your case .

 List<String>  listFromSet = new ArrayList<String>(mPrefsaved.getStringSet("faves", null));

Make sure that your method getStringSet returns a collection of Strings.

Suresh Atta
  • 120,458
  • 37
  • 198
  • 307
6

Use foreach in stringset and add each string to arraylist

ArrayList<String> arrayList = new ArrayList<String>();
for (String str : stringset)  
    arrayList.add(str);
henry4343
  • 3,871
  • 5
  • 22
  • 30