Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Convert List to comma delimited string

 
Joe Gliniecki
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm converting some code to use some of the new features in Java 1.5. The old code looks something like this:



Is there a similar way to do this in a foreach loop? I can't find anything to check whether the current item in the foreach loop is the last one.

The only way I see to do it is either with the Iterator above, or with a foreach and getting rid of the comma at the end of the string after you exit the loop.

I know this isn't an earth shattering question, but curious if I'm missing another way to do this using foreach.

Thanks,
Joe
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 34378
346
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I can think of two ways:
1) Use a boolean to check if you are in the first iteration of the loop.
2) Always add the delimiter and then do a substring at the end to get rid of the last one.
 
Mike Simmons
Ranch Hand
Posts: 3076
14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I use something like this:


 
Rob Spoor
Sheriff
Pie
Posts: 20527
54
Chrome Eclipse IDE Java Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And Mike's code also included another good advice: use StringBuilder instead of String for all the adding.

Everytime you concatenate Strings using +, a new StringBuilder object will be created. For example, will be turned into By specifically using a StringBuilder, you'll make sure there is only one StringBuilder object instead of one per iteration.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic